4 ms·
Being conservative in the language extensions you use/allow in an organization is pretty important to maintaining usability of Haskell as a language. Do we eve
by zeendo 2y ago
Being conservative in the language extensions you use/allow in an organization is pretty important to maintaining usability of Haskell as a language.
Do we ever use TypeFamilies and DataKinds? Sure, but it's very rare.
https://www.simplehaskell.org/ https://www.simplehaskell.org/ is a pretty reasonable set of guidelines (though we opt for a more conservative approach ourselves)
- anta40 2y agoNice to see some folks encouraging how to solve problems with less fancy features/lang extentions (especially in commercial context), considering not all Haskell coders are programming language/compiler nerds :)
- rjh29 2y agoSeems similar to Perl, where there are about 20 ways to do any given thing, and 15 of those are deprecated or not recommended by the community.
- mrkeen 2y agoIt usually follows that the fancier stuff is done for a reason, not just artistic expression. So it's not that they're not the best way, it's just that not everyone knows how to do it that well.
- cosmic_quanta 2y agoNowadays there are "language editions" (e.g. GHC2024) packing many stable language extensions together. It's definitely safe to turn those on, from a maintenance point of view. Edit: Link to docs: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html#controlling-editions-and-extensions https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/cont...
- zeendo 2y agoYeah - we definitely consider the language edition as we revise our internal lang extension rules...but we still find ourselves even a little more conservative than even GHC2024.