4 ms·
Am I the only one that likes vanilla Haskell? I find that it quickly becomes messy with all the GHC extensions. I am although more of an SML kind of guy.
by bjoli 4y ago
Am I the only one that likes vanilla Haskell? I find that it quickly becomes messy with all the GHC extensions. I am although more of an SML kind of guy.
- eru 4y agoMany libraries try to stick to Haskell 98. Also whenever someone writes a paper about some new techniques, they always seem to take a lot of pleasure in pointing out when their technique works in Haskell 98. I like that you can mix and match GHC extensions even in the same project. So one library (or even just one module) might use some crazy and messy extensions, but you can still use it from vanilla Haskell. http://dev.stephendiehl.com/hask/#language-extensions http://dev.stephendiehl.com/hask/#language-extensions has a list of extensions and some judgement on them. There are a few that are really neat, but don't really cause any mess: For example, I really like TupleSections. They are not strictly necessary for anything, they are purely cosmetic / syntactic sugar. But they also don't cause any mess. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/tuple_sections.html https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/tupl... Also: TypedHoles are really neat for developing, and will never show up in your final code. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/typed_holes.html https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/type...
- neilparikh 4y agoGeneralisedNewtypeDeriving is one that I'd consider fairly important as well.
- eru 4y agoAnd also fairly benign, yes. In contrast: GADTs are really important, but they get you pretty far away from Vanilla Haskell.