ekmett / lens

Lenses, Folds, and Traversals - Join us on web.libera.chat #haskell-lens
http://lens.github.io/
Other
2.02k stars 270 forks source link

Rename Iso to Mirror? #195

Closed ehird closed 11 years ago

ehird commented 11 years ago

This would avoid the ugly Iso abbreviation that lens tries to make a point of avoiding, and would analogise nicely with the concepts of Lens and Prism.

The downside is that a lot of people already know what an isomorphism is, though they're probably only familiar with the SimpleIso version in Haskell.

dag commented 11 years ago

I like Iso but then Mirror goes well with the optics-based terminology. On the other hand it could get a bit confusing with the existing use of reflect* for reified lenses? Or are those going away?

ekmett commented 11 years ago

The ReifiedFoo types will remain for the foreseeable future. Cloning a lens is slower than working with a ReifiedLens, its just more convenient to pass around Loupes and their ilk since you can still work with them.

glguy commented 11 years ago

:-1: Iso gives me a much better intuition for what the type is for than mirror does, so I'd vote against this change for what it's worth. As far as I can see, changing the name just gives the library a cute naming theme, but doesn't make things easier and makes an unnecessary API change.

ekmett commented 11 years ago

I'm also a :-1: at this point. I think its a cute naming trick and it /would/ slightly resolve the facts that our Isos are both an abbreviation (blech) and not what someone thinks of when they go think of a real 'isomorphism'.

But while consistency would be nice, but it comes off as a gratuitous change for change's sake now that we have actual users, and Iso carries with it pre-existing connotations that lead the user to the right understanding. Mirror requires you to go think about a new metaphor.