5 ms·
Has there been a recent surge in Haskell popularity? I noticed Pragmatic Programmers and Manning are both working on new books about Haskell, which is the first
by runevault 4y ago
Has there been a recent surge in Haskell popularity? I noticed Pragmatic Programmers and Manning are both working on new books about Haskell, which is the first time in ages I can recall a significant publisher announcing Haskell books, though I may have missed some in the meantime.
- rychco 4y agoI'm thinking it may be due to functional programming ideas slowly being introduced to (or were already part of) some of the more trendy/mainstream languages like C++20 (ranges, lambdas, concurrency, etc) & Rust (pattern matching, immutability, etc). Haskell always seems to pop up when discussing these topics lately, which made me more interested than I was previously. I intend to (attempt to) start learning Haskell in the near future, so I'm glad that there's new books being written on the subject.
- niek_pas 4y agoDon't forget about Javascript! I wouldn't be surprised if React and Redux and new-ish JS features like `map`, `reduce`, etc. have contributed significantly as well.
- runevault 4y agoA fair few of the features coming from functional languages are also available in OCaml though I feel like I haven't seen quite the same surge there. And in cases like Rust and F# MLs were the inspiration for how they built their functional feature sets as far as I know.
- brundolf 4y agoFacebook's been developing and promoting their Reason ML dialect
- runevault 4y agoHow much do they promote it? I feel like I rarely hear about Reason, but I might simply be looking in the wrong places.
- brundolf 4y agoI think it probably gets more promotion than OCaml. But yeah, it's definitely not on the same level as eg. React or something; I get the sense there's a faction in the company that owns it and really cares about it but maybe doesn't get as much priority from the top as some other groups
- ChadNauseam 4y agoI think ReasonML is no longer maintained by facebook
- bontaq 4y agoHard 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.
- Athas 4y agoAs a language, I think it was always good. Haskell is my main working language, so I tend to mostly see the warts, but whenever I have to use another language I end up feeling very constricted. Haskell does have some very real warts, but I would say that for example the current state of the tooling is only bad when compared to the very best (e.g. cargo is arguably better than cabal, but cabal is better than what a lot of other languages have). I'm uncertain about Haskell ever becoming very popular. Rust seems to be sucking a lot of oxygen out of the room for new application programming languages, and Haskell is so old that I'd expect it to already be popular if it were ever going to become popular on its own merits. This doesn't matter much to me. There is enough manpower in the community to maintain the tooling and infrastructure, which keeps improving, and the language is fundamentally very very good. I originally learned Haskell from the book Real World Haskell. It's probably dated now (the language and libraries have changed), but I would certainly welcome an updated second edition.
- runevault 4y agoYeah Haskell always seemed interesting, I just never got my head around it on the couple attempts I made. Mostly surprised because languages as old as Haskell rarely see potential at another surge in popularity when they have been around this long unless something (library/framework/etc) comes along and makes people reevaluate them.
- massysett 4y agoPutting Rust and Haskell in the same category always puzzles me a bit: I’d think Rust is more in the same category as C++?
- Athas 4y agoYes, Rust as a language wasn't originally intended for much of what it's used for now. Many of the applications written in Rust would probably be fine without the borrow checker, and instead paying a performance overhead to have GC. I think Rust is succeeding on the strength of its tooling and the overall relative modernity of the language (e.g. proper sum types and sane metaprogramming). Of course, Haskell has these things too, although some of the incarnations may be a bit more crufty (Rust macros seem a lot more accepted than Template Haskell does).
- Syzygies 4y agoI still don't know a better language for parallelism. Some alternatives can make up for being sluggish by employing parallelism. Haskell is already reasonably efficient (for my problems) and parallelism is trivial to add.
- eklavya 4y agoThis is oft overlooked, Haskell is absolutely in a league of its own when it comes to concurrency and parallel capabilities. I would highly recommend https://simonmar.github.io/pages/pcph.html https://simonmar.github.io/pages/pcph.html regardless of which language you use day to day. It a treasure trove of excellent information.
- EddySchauHai 4y agoI assume crypto has been a fairly big part of it too, a number of chains use Haskell and Cardanos smart contract language is a Haskell library.