The wasted potential of Haskell: Language & Compiler

I think this will be the last response I make because I’ve said all I had to say, and we’re pretty much running in circles now, and I feel like people are not reading what I’m saying at all.

I’m well aware of the Haskell user-base and how the Haskell community dynamics work, and I’m discussing how to introduce a positive change. You, like a few others, start talking about how things are.

Then you frame stuff as “almighty authority” as if I’m advocating for some authoritarian regime to take over the governance. I’d call this a pure straw-man normally, but I’ll chalk this up to the low-attention nature of online discourse.

I’ve clearly stated multiple times they should just drive the initiative while letting community take over, acting entirely as a focus / mediator.

HF whose purpose is to broaden industry adoption, could for example host discussions on this forum to invite people to think about certain features that might achieve their goals. E.g. row polymorphism.

This is will attract much more attention and be taken more seriously than if one random guy starts this discussion. After the initial discussion / debate things can be taken to the proposal stage by willing individuals, and if nothing comes out of it, at least potential PHD candidates will have an archive of impactful problems to choose from in a convenient way.

After this, people usually pivot to “well do it if it’s important to you” and say cute stuff like “it is a gift economy”. We live in the attention economy and Haskell would certainly benefit from some attention right now.

The GHC and the Proposal process are very much out of sight, and feel very insular at the moment. You may think that’s for a good reason, and of course we don’t want to spam proposals left and right, so that’s why I’ve been advocating for initial discussions in less formal forums to gauge and drive interest.

And finally, this post was about the “wasted potential” of Haskell. I hope it’s clear that I both like and use Haskell daily and prefer it over any other language. It is incredibly productive language and could be even more so.

5 Likes

Haskell’s potential is in those using it. I see so much cool stuff every day in the Haskell communities I frequent.

Also..I still have 0 clue what you want lol. This thread is just FUD but without a single action item. No agenda no attenda, as they say.

3 Likes

The wikip article on that topic mentions a Haskell initiative in its third paragraph — it just wasn’t in ghc. You can still download that Haskell and examine the implementation. (Furthermore it integrates nicely with typeclasses/FunDeps/overlaps — which weren’t a thing at the time TRex was first developed.)

So it doesn’t need any Committee to ‘encourage’/‘host discussions’; it just needs someone who has deep knowledge of ghc internals to adapt what already exists, make a proposal, and get on with it. I think there’s no-one with the skills, time and interest. I don’t think it’s a case of some bureaucracy holding it back. (And i’ve picked a concrete example like that, because for all the words you’ve written, I still don’t have much idea what you think needs improving or how ‘discussion’ will shift the dial.)

First off, I’ve used row polymorphism as an example for what kind of topics HF should raise occasionally in the community. You are pivoting from my argument by latching onto a mere example I’ve used to illustrate my point.

Second, this thing is sitting forgotten in that wiki you mention, exactly proving my point. HF could bring attention to that topic again.

Finally, there are relatively few people with deep knowledge of internals. As many people have noted, there’s a lack of manpower. I don’t see how else you create more people with deep knowledge of internals without being more inviting and open about GHC development.

1 Like

Reddit has entered the chat.

Row polymorphism is a huge potential upside.

3 Likes

GHC “intern” [1] program?

[1] unpaid, part-time

Something to keep in mind is that ideas can seem true and forceful simply due to prevailing memes and trends. Ideas become identity signals. You see it a lot when writers and speakers (“influencers”) talk about Haskell. I see bold claims and acrimonious debates that barely intersect with actual progress and the joy of programming, learning, and community.

I’m talking, of course, about the period from ~2005 to ~2015, when Haskell was everyone’s favorite language and people were unrealistically championing it as the future of programming.

Nowadays Haskell is everyone’s favorite punching bag and Rust is in the ascendant. This has had practical effects. Less money flows into community Haskell projects. But largely the joy of programming, learning, and community has remained unchanged; progress has not slowed down. Influencers go on chasing the new memes, same as the old memes. (And causation is not clear: open source contributions are down across the board, which can’t just be due to Haskell’s timeline and heroic arc.)


“Don’t bother me with details. Somebody should do something!”

I’m sorry bro but “details” is how things get done.

“We need somebody to have a vision! A vision that inspires and creates more productivity! A vision that recovers the potential!”

I understand that in these trying geopolitical times, most people feel uncertainty and unconsciously reach for the strongman, the protector, the one who can make things right. Just like Daddy used to do.

Sorry, what was I talking about? Oh, right. The problem is that ideas are cheap and unless they have the resources to feed an army, a committee with a vision isn’t going to accomplish anything above and beyond what the individual committee members can individually do.

Finally, luckily, joyfully, we do have a fair number of individuals (and groups) with specific visions and resources for working towards them. Even the Haskell Foundation, although its vision isn’t what a lot of people seem to think it is. I’d argue we need the HF with its specific vision even if we managed to recruit our friendly local authoritarian dictator to the defense of our favorite programming language.

Tho I do worry if the resulting power struggle wouldn’t have surprising completely predictable, eternally reproducible deleterious effects…

21 Likes

C/C++ compilers must support previous language standards back to -ansi ( -std=c89 ). Except some vendors backslide and still want to keep their own extensions in play. So there’s an option -pedantic, meaning no, I insist.

And this even after Stroustrop was so careful to layer C++ over C in a way that preserved all the original syntax and semantics. C doesn’t even have the excuse of being an academic/research language, where features marked Experimental are expected to be iffy, and must be held out of production.

This is intolerable! The language Working Group/committee is falling down on the job. As @chreekat says, they must appoint a strongman to rattle some cages. Or C will continue to waste its potential. (I expect Faure’s next video will be out any day now.)

4 Likes

Wow… just let this thread die. The amount of straw-manning here is incredible. You guys have managed to conjure-up a call for some “strongman” / “daddy” to take the reins. Where are you getting this from exactly?

We already have HF and few other bodies that are doing some kind of moderation and directing (are they the big daddy because of that?).

I was suggesting a change of focus that I’d perceive as positive. And the only thing I was talking about is changing the incentives and making things more inviting and open to greater changes instead of giving us reports of what some white-bearded wizards in the sky did this month to improve GHC (I’m not disparaging people who diligently work on GHC, just saying that this is the overall image for anyone new).

Also, what’s with these “kindergarten-level” arguments? “But mommy, they did it too”. Just because C / C++ bends over backwards to maintain backwards compatibility we ought to do that too? Sure, there’s maybe an argument to make in favor of such backwards compatibility, but “X did it too” is not it. C has also achieved a much bigger user base so their strategy also ought to be different and cannot be compared to Haskell.

The whole thread is about wasted potential. Haskell is imo the best language I’ve used so far, but relatively speaking it has much more potential than e.g. C (which I also kind of like for it’s simplicity).

If I were to visualize the potential and used potential of C vs Haskell in absolute terms, this would be it:

C:       [▊▊▊▊▊▊▊▊▊▊▊|░░░░░]
Haskell: [▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊▊|░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░...]
2 Likes