Recently I’ve noticed that Haskell is losing traction, and got worried if ML family languages (or even FP as a whole) could be phasing out. Indeed, it could be just haskell being old, but it doesn’t seem like langs like F# has it much better. (F# is ML family, right?)
As such, I want to know if PureScript and other ML family languages are doing well, or if they are struggling recently. Is it of worrying level, or can I put my paranoia aside?
How do you measure “traction” if I may ask?
Purescript (just like Haskell) is actively maintained and developed.
Both will probably not be mainstream in the near future but IMHO both are doing fine.
True, but the article on how stack is lacking manpower made me concerned.
I’ve seen the discussion but I think that’s not really a signal towards decline or something like that - I think that’s not uncommon for open-source: main maintainer has/takes less time or even wants to step down and no-one is there to take over smoothly.
I don’t think fp-complete will stop doing stackage and I’m sure there will be workable solutions soon (in the meantime stack still works it’s just a bit beginner-unfriendly to setup with HLS).
But overall that has nothing to do with purescript as a language or the purescript community outside of building it does it?
PS: is there some kind of article around this issue? Can you link it?
Oh, I was depressed when I saw how stack is relatively less maintained nowadays. Did not know many open-source projects could go similar way for variety of reasons.
That part was not related with Purescript, was just asking if Purescript is doing okay/better. If it is doing well, I would consider migrating to mainly using purescript. Was just anxious and worried about the FP ecosystem. (Though yes, I could be narrow-sighted and just looking at it in certain aspect)
Well I think there are a lot more people writing and maintaining Haskell to be fair.
Personally I don’t worry about PureScript and I for my part will continue using it happily.
For me the question was Elm or PureScript and I’ll go PureScript.
EDIT: My use case for PureScript is front-end development.
I see, I thought maybe purescript would be usable for general purpose development at this point as well. (How well does it work for e.g. backend / computer applications?)
Oh I think it is - I had some fun writing a simple web-server with mongodb backend etc. - it’s just we are mainly a .NET shop and so it’s obviously asp.net in the backend and if that would change (one can hope) it’d try Haskell (even though I have to admit if I’m honest, that .net is probably the better alternative).
I’m using Haskell for private/other projects though.
Funny we’re all replying at the same time
I’m personally optimistic about the PureScript community, I think there’s been good plans laid for future growth and community building. Most day to day chat happens on our discord server and I see good participation there.
I think Haskell is also doing fine. A lot of work is going into GHC these days, from what I can tell. The Haskell foundation was established to ensure continued growth. I’m not sure what the stack vs cabal situation is: it seems that preferences/effort has flip-flopped on those recently. But Haskell is going to continue to exist and be maintained.
You can certainly write backend/CLI node applications with PureScript, though the libraries are less established and it might require some more legwork to get what you need from the FFI.
quite OT but my 50cts: I think it’s flipped for stack users (I’m one of those) because the vs.code integration with hls is not downloading the binaries directly any more, but is using ghcup to fetch those and there are some small issues with using ghcup and stack at the same time.
So I had to basically take the decision of going (back to) cabal and having an easy/nice editor-experience or staying with the still great build-experience of stack but having to constantly compile HLS and integrate it into my editors … I’m hoping that stack will come around and play nicely with ghcup and if not I will go to cabal.
You should definitely try PureScript for backend stuff! It’s my favorite for personal projects even if it’s all backend. The biggest issue compared to Haskell is that the backend libraries are a bit lacking (for like connecting to databases, or message queues, or whatever), which means that you have to use FFI with Node.js more often. (Though I personally find the PureScript FFI to JavaScript much less intimidating than the Haskell FFI to C code). Also, you probably can’t performance tune PureScript to be as fast as Haskell if you’ve got something that’s got to be as fast as possible.
But honestly in the FP arena in general, I agree with Carsten that Haskell, PureScript, Elm, F#, etc., are all healthy, but they are niche. Niche languages just won’t feel the same as mainstream languages like Python or Java. That means editor support might suffer at times. That means parts of the ecosystem might lose maintainers and require you to switch to something else (or become a maintainer yourself!). That means that finding a job using your favorite language is a lot harder. In my experience, it might also sometimes mean that the folks in the community are much more passionate, and more liable to get into really heated discussions that end up sounding doom & gloomy. And it definitely means that the authors of these programming articles like “What are the next 5 languages that will die a horrible death” don’t really know anything about the niche languages they might mention. I saw one claim that Python is a better alternative to Haskell, since both are “used to write server code” and Haskell isn’t “popular.” Anyone who knows anything about Haskell would say that Python is about the most dissimilar “alternative” you could offer even among mainstream languages.
But that’s just what comes with using a niche language, and not at all a reflection of the language’s health or trajectory. These FP languages aren’t going away anytime soon.
Just based on vibes having multiple PS front-end projects in production and development: it’s going really well!
There are some things that might remain pain points, e.g. editor integration may never be as good or fast as TypeScript; and generated code performance may never be amazing, but overall PureScript is a great choice (choosing a language is all about trade-offs, right?) and development of the core language and its features are going really well. The shift to ES6 modules being a recent example, it’s big change, maintainers have done a lot of work, and it seems they’ve pulled it off!
I feel like the problem with Stack may be because people are switching to Cabal. Haskell may not be dying, but it does seem to be taking a while for the tooling situation to get sorted.
To @ntwilson’s and @JeevesBond’s points, I find it very telling that even despite the thousand little inconveniences compared to the mainstream languages, smart people still choose Haskell and PureScript.
I’m surprised that no one mentioned OCaml, ReScript and Reason here. They are ML language as far as I can tell. There are tremendous momentum between those communities.
In this case you could add Elm, F#/Fable, Idris and probably quite a few more I’ve never heard of
The only thing is hard, and it is compressible, is convincing any client (or employer) to use it. Be prepared to long-running-conversations on why PureScript is better than other alternatives. Jordans Reference have really good points on why PureScript is the right choice.