I feel like haskell is dying

I absolutely agree. I don’t think Haskell will be able to substantially grow or keep its edge through new language features. We’ve been long beaten by Idris, Agda, F* etc in that domain and much of the community has a somewhat collective burnout from the constant change as has been attested by several non-trivial industry users.

The way forward is stabilization, improving performance and platform support. We’ve had many threads about this topic here and I feel most of the community agrees, but a couple important key people in the community do not. So there’s some things to figure out. Whether the HF stability working group can deliver a united front in that regard that’s actually backed by the board and GHC devs remains to be seen.

4 Likes

More resources on haskell gamedev.

There is a friendly community on Matrix, (bridged to irc if you prefer: libera.chat/#haskell-game). Allure of the Stars (~50k LOCs, not a toy) dev Mikolaj dwells there.

Having used Haskell to write a small game (and a jam entry), I found the experience pleasing but yes some additional resources (documentation on best practices on how to set up your game, best way to structure games with lots of sub/minigames, etc.) would have helped.

7 Likes

I don’t have any factual argument as to why Haskell isn’t dying, but to go against what seems to be the common pattern in this thread of feeling like Haskell is dying and is beat, I must say:

I feel enthusiastic about Haskell every day, I feel like it’s such an amazing language that keeps on growing and being yet more amazing. I discover awesome and mind bending things (e.g. Control.Monad.Tardis) every day. I am that guy who won’t shut up about Haskell and keeps trying to teach it to his colleagues (and actually to just about everyone else).

I’ve recently started contributing to GHC after having read Trees That Grow – and now I’m even more enthusiastic about it – I’m excited for Haskell to be more modular – for it to be extended in new ways.

I’m excited for the upcoming in-person events like ZuriHac.

I’m seeing more attempts to bring other mainstream parts of programming into Haskell such as cross platform front end development (GitHub - obsidiansystems/obelisk: Functional reactive web and mobile applications, with batteries included.), and virtual doms (https://haskell-miso.org)

Yes. I am biased. Yes, I am in the Haskell bubble, but I mean to fight (ง’̀-'́)ง the negativity trend.

21 Likes

All possible graphs tell us that the Haskell community is growing at about the same rate as the market for programming languages, so its share of the market is not changing.

But the attitudes do change. No one wants to hear about Fancy Haskell and Category Theory anymore. No one is thinking that Haskell is the solution to those problems everyone is suffering from every day: crashes, lags, death by complexity. Haskell is not seen as a general purpose language anymore. This is a stark change from what I recall from, say, 5 years ago.

I am not sure what the ethos is now. The passion is gone, what is left is established business. Cryptocurrency — yes, web servers — yes. Computer games, graphics, music — not anymore. There is no passion to break into data science and machine learning, even though it seems like Haskell could contest a share of that market. Most importantly, there is no spirit of exploration. There is seemingly nothing left to learn.

Some proponents of Haskell in this conversation (say, Tom Ellis, Richard Eisenberg) I know to be at the center of the industry. They are somewhat extroverted, very conscientious, very well off, their position on the market is lifelong. This is survivor bias at its finest. Others (Vanessa McHale, Julian Ospald) are no less successful I reckon, but even then somewhat cynical now — their messages bear an ever so slight shade of regret.

For an average person, investment in Haskell is not even «questionable» — it is not on the table. It is far easier to become a Solidity or JavaScript developer, and the pay seems to be even better on average. No ethos other than economic efficiency is evident. No one is going to come.

And truly I see few unfamiliar names even in this conversation.

3 Likes

I think there’s quite a lot to be done, actually! Some things I would like to see (Haskell-exclusive?)

  • FFI in the (lazy?) ST monad. I have questions about safety + explanations of why it is safe!
  • More laziness! Stuff like doubly-linked lists, laziness for graphs, laziness for more elegant algorithms.
  • A replacement for Template Haskell (might need some sponsorship at this point oof)

x86-64bit: Runtime code generation for x86 64 bit machine code is intriguing, actually uses the tardis monad for an assembler.

I think there is still joy to be had in little one-offs, I guess ambitious projects are not taking center stage as they once were…

2 Likes

To be fair, we did try. This was initially (2016) spearheaded (and the domain is still paid for) by Theam , then a small but active community grew around it, I was very active as an editor/hype man for the community (including running a workshop at ICFP’17 and pulling people in at ZuriHac and Haskell Exchange), we started building things, but then it sort of fell apart, people disappeared and the project ground to a halt.

And this is not meant to take credit from the crazies visionaries who have built machine learning libraries in this language. DataHaskell was simply meant to organize this effort. I have theories on why didn’t succeed (yet?), certainly have my share of the blame for not coordinating communications more effectively.

But the truth is that this stuff is super f+++++g hard to start with, it’s a lot of unglamorous work and additionally when you put 5 Haskellers in a room you get 12 alternative APIs for doing even the simplest task. We are simply allergic to standardization.

11 Likes

Oh man I forgot about HLearn… very good/cool stuff.

2 Likes

What are your thoughts on TH and why do you think it needs a replacement?

One far away goal for TH is to share the AST with Haskell (we’re working on TTG for that goal)

If you think it’d be an interesting discussion do open a separate thread.

1 Like

…there probably are others.

1 Like

Do you think that is something to be fixed?

Is any language a truly general purpose language though, if you consider how it is used? Also tbh, web is the too big of a domain nowadays to disregard. My thoughts were more about how companies involved in haskell has dwindled out, and with it, many haskell communities.

Because vanilla Haskell can be used to manipulate (not a separate macro language), you don’t separate runtime and compile-time nicely. Among other things this hopelessly breaks cross-compilation: What Template Haskell gets wrong and Racket gets right : ezyang’s blog

2 Likes

…what about just being a “versatile non-strict functional language” ?

While not as glamorous, there is still some interest in “smoothing rough edges” - in addition to web services and APIs e.g. Servant:

  • https://discourse.haskell.org/t/using-unsafeperformio-safely/4146
  • https://wiki.haskell.org/Partibles_for_composing_monads
    (my own work: experimental, based on personal experience and opinions!)

For an average person, investment in Haskell is not even «questionable» — it is not on the table. It is far easier to become a Solidity or JavaScript developer […]

After some time, they are frustrated by e.g. “the JavaScript problem”, which drives them to look for alternatives, such as Elm. The stark difference between those two languages must intrigue some at the very least, who then look a little further…or maybe not; if I could usefully predict the future, I would have permanently solved “the day-job problem” a long time ago!

…ouch! Then again, we have also been spoilt for choice with regards to Haskell extensions. Either way, it’s definitely a problem, as shown by (the absence of) Haskell 2020.

Since “Haskell burnout” was briefly mentioned:

  • https://discourse.haskell.org/t/what-happened-to-lightweight-concurrency-primitives-for-ghc/3363

…it does happen. But as @rae showed, it isn’t limited to Haskell.

Can things be better? Of course, but we should also remember that things could also be worse - some thirty-five years ago, a group of very-learned folk may have been too busy to realise that having one language was (at that time) simpler that several, for research and educational purposes.

In spite of the advent of multi-core desktop computers for everyday use, the prevailing paradigm is still imperative - that Haskell is now where it is in such an environment certainly looks like a success to me. As to it’s future…the worst-case scenario is that Haskell joins the ranks of Prolog and Miranda(R), to be used in education to awaken the imperatively-habitualised to alternate possibilities.

Anything more than that is a bonus.

3 Likes

(And I thought Prolog was more popular than haskell)

Prolog’s popularity is difficult to measure by any yardstick to compare to Haskell.

Prolog (and I think we should include Datalog) has a rock-solid user base who wouldn’t use anything else for drawing conclusions from diverse data collections. It’s a different use-case vs Theorem provers, so I don’t think layering Theorem proving/Dependent on top of Haskell will attract any Prolog users.

(And to @atravers point, Prolog/Datalog is heavily used in industry as well as academe for data analysis – that is when data warehouses run out of insights.)

1 Like

…I stand corrected: if Prolog continues to have its industrial uses, then Haskell will too - thank you, @AntC2!

1 Like

Eh, why so? It’s not like anyone would be interested in purity, and ppl just actively avoid laziness nowadays.

Despite all the responses in this thread, it seems to me that you’re still trying to find something that will confirm your belief about the demise of Haskell. So here it is:

One day, Haskell will be no more than a distant memory. But we believe that, when that day comes, the ideas and techniques that it nurtured will prove to have been of enduring value through their influence on languages of the future.

Paul Hudak, John Hughes, Simon Peyton Jones and Philip Wadler (page 46 of 55).

I for one will let you decide if this will happen before or after the human race is living on other planets in other galaxies

5 Likes

Well, I certainly want to believe it is alive and well. However, there are even scant sign of decay in this thread as well. (e.g. what kindaro said) Also, by that sentence I do not mean demise of haskell, but the current reality of FP in the programming scene. To put it in other way: It feels like if haskell dies out, purity and laziness will go with it.

No they wouldn’t:

Of course, without a nonstrict successor to replace it, the departure of Haskell would be unfortunate for us and our programming successors. But the above quote is correct: what was learned while it existed will endure.

1 Like