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

Why lens and not plain van Laarhoven lenses? #30

Open
peddie opened this issue Dec 10, 2015 · 2 comments
Open

Why lens and not plain van Laarhoven lenses? #30

peddie opened this issue Dec 10, 2015 · 2 comments
Labels
hack night Topics that could be good for hack night

Comments

@peddie
Copy link

peddie commented Dec 10, 2015

From #bfpg:

peddie:

so lens and the new abstractions it provides are way, way more than just first-class records, but I'm not sure I've seen this articulated well for people who aren't already familiar with them

nkpart:

I agree. there seems to be enough material on lenses. but why lens the package over microlens

frase:

"ed wrote it" is a good enough reason to use lib A over lib B in 99% of cases :)

peddie:

pretend I'm a beginning haskeller: I don't know who ed is; all I know so far is that I get 22 pages of category theory, which I don't understand, in my cabal build log if I pull in 'lens'. why do I want traversals? prisms? plated? why are they all provided by one library? what are the engineering tradeoffs here? why not use the simplest van Laarhoeven lenses and just 'over' and 'view'? I often struggle to answer these questions clearly even to myself

This is a talk request; I don't feel qualified to give this talk, and I'm not sure how I'd approach it.

@benkolera
Copy link
Member

This would be really good to pair with a lets-lens workshop/hack night.

https://github.com/NICTA/lets-lens

@frasertweedale frasertweedale added the hack night Topics that could be good for hack night label Feb 11, 2020
@endgame
Copy link

endgame commented Feb 12, 2020

microlens is an extract of things from lens which are implementable using only the tools from base.

The big one is that you can't write proper prisms without the Choice typeclass from profunctors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hack night Topics that could be good for hack night
Projects
None yet
Development

No branches or pull requests

4 participants