News for hackers. Stuff that matters.
Re:Wren is a small, fast, class-based concurrent scripting l... by bjoli on Monday August 29, 2022 @03:13AM (#32635497)
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.
Re:Wren is a small, fast, class-based concurrent scripting l... by eru on Monday August 29, 2022 @03:40AM (#32635628)
Many 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 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/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/type...

Re:Wren is a small, fast, class-based concurrent scripting l... by neilparikh on Monday August 29, 2022 @06:53AM (#32636634)
GeneralisedNewtypeDeriving is one that I'd consider fairly important as well.
Re:Wren is a small, fast, class-based concurrent scripting l... by eru on Monday August 29, 2022 @08:47AM (#32637513)
And also fairly benign, yes.

In contrast: GADTs are really important, but they get you pretty far away from Vanilla Haskell.