3 ms·
Speaking from years of pro & hobbyist Haskelling: Good Haskell modules tend to be quite literate and are therefore easy to read as plaintext. Clicking into the
by whateveracct 5y ago
Speaking from years of pro & hobbyist Haskelling:
Good Haskell modules tend to be quite literate and are therefore easy to read as plaintext. Clicking into the source of Hackage is often very fruitful compared to other languages (Go comes to mind.)
Often they aren't meant to be read top-to-bottom of course, but they're a few hundred lines of code that makes sense and backs a very readable export list.
And good Haskell isn't especially bound by writing and managing the code. You spend most of the time thinking and then a small amount of excellent, composable code pops out. Rinse, repeat, compose it all together.
- runeks 5y ago> And good Haskell isn't especially bound by writing and managing the code. You spend most of the time thinking and then a small amount of excellent, composable code pops out. Rinse, repeat, compose it all together. Haskell is no different than any other language in this regard. Implementing e.g. a standard CRUD app in Haskell using “beam” involves a lot of boilerplate, for which a proper IDE is super useful.
- wyager 5y ago> Haskell is no different than any other language in this regard It absolutely 100% is. This is half the reason people like to use it. > Implementing e.g. a standard CRUD app in Haskell using “beam” involves a lot of boilerplate I haven't used beam, but for me, the appeal of Haskell is that that you can throw out like 90% of the low-semantic-density boilerplate you see elsewhere. Composable abstractions, typeclasses, generics, lenses, etc. - all of these things directly serve to reduce unnecessary semantic sparsity, and incidentally obviate the need for an IDE.
- foldr 5y agoHaskell has a decent web ecosystem at this point. However, if you really want to avoid boilerplate when writing a CRUD app, your best choice is one of the big, boring popular web frameworks (Ruby on Rails, Django, etc.) 90% of boilerplate avoidance has less to do with fancy language features than it does with someone else already having done the work for you. (And dynamic languages like Ruby and Python do allow all kinds of fancy abstractions anyway - just without the security of compile time typing.)
- whateveracct 5y agoWhat boilerplate exactly? The deriving & trivial instances you write when you define your table schemas?
- whateveracct 5y agoAlso, I write elisp all the time that automates certain code blocks (in all languages.)