3 ms·
I do not get it. HM lets you do things like f x = fold g x without writing the types, how is that not easy mode compared to C or Java for example?
by dependenttypes 6y ago
I do not get it. HM lets you do things like f x = fold g x without writing the types, how is that not easy mode compared to C or Java for example?
- WJW 6y agoIt's easy mode when writing, not when reading.
- dependenttypes 6y agoI disagree, you can have your IDE display the types if you so wish. Even then, would you say that python for example is hard mode?
- WJW 6y agoIn python, using single letter functions is not encouraged though. In general, I found that there is a tipping point above which more advanced the abstractions actually decrease the readability of the code because the ratio of implied to explicit code gets unbalanced. The verbosity of C/Golang/Java is actually a benefit here, since they remain readable even to new team members, hungover team members, new parents on 2 hours of sleep and generally anyone without a good model of all the implicit meaning behind the abstration in their head at this moment. This may or may not include "future me" scenarios where you come back to some overly clever code in 5 years and have to relearn 3 separate DSLs that were hip at the time. The IDE experience for Haskell also... leaves something to be desired atm. Hie and GHCIDE are cool projects but I regularly see even experienced Haskellers struggle installing them (and/or keeping them working after updates).