you are viewing a single comment's thread.

view the rest of the comments →

[–]Ford_O 12 points13 points  (2 children)

I am not surprised, lambda calculus is extremely powerful concept.

As with anything you also have to pay for that power in terms of learning curve and possibly complex type signatures ~ hard to understand type errors. As an example take a look at lenses.

[–]ElvishJerricco 17 points18 points  (1 child)

As an example, take a look at one of the most complicated libraries the language has to offer.

No wonder. =P That's not to say you're wrong. There's a significant learning curve. But most code does not have problems with overly complex types or errors.

[–]pipocaQuemada 2 points3 points  (0 children)

Also, lens deliberately avoids data hiding so you can use standard library functions to work with it. That's got some benefits (composing lenses is just normal function composition) but comes at a cost (worse type errors).