Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Metadata preservation #237

Open
nathanmarz opened this issue Nov 16, 2017 · 1 comment
Open

Metadata preservation #237

nathanmarz opened this issue Nov 16, 2017 · 1 comment

Comments

@nathanmarz
Copy link
Collaborator

Many Specter navigators do not preserve metadata on transforms, such as ALL, MAP-VALS, and MAP-KEYS. Should look into the performance cost of metadata preservation and whether it's worth updating all the navigators to do so. Implementing this would also eliminate the need for ALL-WITH-META, though it could be kept around for backwards compatibility as (def ALL-WITH-META ALL).

@gdeer81
Copy link

gdeer81 commented Nov 21, 2017

I know performance was always a requirement with this library so I'm not surprised to see an "opt-in" for something that might have a performance cost like ALL-WITH-META versus other libraries and languages that have an "opt-in" for things that have performance benefits like type hinting, hand rolled in-lining, parallel versions of functions, etc

So I imagine if you wanted to go down that road you could provide an ALL-WITHOUT-META for those that are paranoid that hanging on to the metadata is costing nano-seconds.

Like I said, I'm aware that this library's promise has always been performance by default so I imagine you've already thought of this and rejected it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants