4 ms·
Hard to say if it's gotten more popular (yet), but development speed has picked up and some longstanding things have been fixed. A lot of things in the ecosyst
by bontaq 4y ago
Hard to say if it's gotten more popular (yet), but development speed has picked up and some longstanding things have been fixed. A lot of things in the ecosystem have improved as well. It feels like it's all moving again, and to a place it could start gaining popularity.
Off the top of my head:
* Haskell language server solved the ide support problem
* Easy record access with . syntax (i.e. person.name to get a name off a person)
* A new {-# LANGUAGE GHC2021 #-} pragma that turns on a bunch of flags by default to write modern haskell
* GHCup to control installed haskell & tool versions
* Haskell foundation formed to support growing haskell
* A proposal* to work towards supporting dependent types was accepted
A lot more of course but it all points to making haskell more enjoyable to get into and use, and a good future ahead.
* https://github.com/ghc-proposals/ghc-proposals/pull/378 https://github.com/ghc-proposals/ghc-proposals/pull/378
- runevault 4y agoWhat a detailed answer, thank you for so many specifics. I bounced off Haskell last time I tried it but seeing all this is certainly exciting and I'll have to keep an eye on it.
- gavinray 4y agoI'd say that HLS finally starting to mostly work is the single biggest driver I've tried it since it was Haskell IDE Engine and only recently does it seem to "just work" without edgecase bugs (Template Haskell) or configuration It's hard to take a language seriously that doesn't have a good IDE story. I wrote a massive rant to Tom Ellis about why I thought writing Haskell was a terrible user experience and most of my complaints have been resolved in the last year or so.
- rychco 4y agoDo you have any links to, or can you share any more information about "modern" haskell? What's different?
- rrradical 4y agoMore info on the extension they referenced here: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html#extension-GHC2021 https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/cont... But basically it's a meta-extension that flips on a bunch of extensions that most haskell users would come to expect as 'default'. As a simple example: TupleSections. If the compiler complained to me that I needed to turn on TupleSections, I wouldn't take a minute to consider whether it was a good idea, I'd just be annoyed that I hadn't flipped it on somewhere already.
- bontaq 4y agoPretty much what rrradical said. I haven't seen any articles around "writing code with only haskell 2010 vs GHC2021", but now that we have a baseline in the community things like that could be written. Actually that flag existing is part of why I think new books are being written, to start defining what "modern" (with all these flags on by default) haskell looks like.