1. 17
  1.  

  2. 9

    This is a nice enumeration of language features and it hints at the larger truth. The real civilizational value of Haskell is being quite literally the only language laboratory in which genuinely novel ideas about programming can be tested, refined and deployed in the wild. Haskell will absolutely never have many users, but it has enough users to vet the good ideas and the bad ideas from both an academic and industrial perspective. The really good ones work their way downstream and its contributions enrich the entire software ecosystem.

    I’ve come to really appreciate the language extension model that Simon put in place decades ago, and its place as a great economic engine of progress in software.

    1. 7

      Haskell is being quite literally the only language laboratory in which genuinely novel ideas about programming can be tested, refined and deployed in the wild

      Nothing against Haskell, but it’s just not true. Most truly novel ideas are first tried in research languages/dialects, and far from all of them make it, or even can make it into Haskell.

      Haskell also doen’t have a decent module system after decades. ;)

      1. 7

        Nothing against Haskell, but it’s just not true. Most truly novel ideas are first tried in research languages/dialects, and far from all of them make it, or even can make it into Haskell.

        You’re missing the point:

        in which genuinely novel ideas about programming can be tested, refined and deployed in the wild

        No one is asserting that all interesting PLT ideas first show up Haskell exclusively, sdiehl’s point is that the extension system and culture allows for testing out more experimental ideas along with solid production-tested features in an existing language used in industry in a way that is unique in the current ecosystem.

        And stating that Haskell doesn’t have a decent module system glosses over the fact that typeclasses fulfill a lot of the same function in Haskell. And that’s not to mention that Backpack exists–it’s not like members of the Haskell community are unaware of the existence of modules or don’t see their value, but Haskell provides a different model with different tradeoffs.

        1. 5

          Yes precisely, there’s plenty of interesting work that is done in *ML dialects too. It’s just that in Haskell things get tossed into the language and out to industrial users a lot faster because it’s all opt-in extensions. There are pros and cons to this model but it is very much the Haskell Way and quite unique in the space of all languages.

      2. 7

        Haskell […] being quite literally the only language laboratory in which genuinely novel ideas

        That’s a bit too absolute, I think. There are many other languages that are exploring genuinely novel ideas, and I would argue that Lisps, in particular Racket, still make better “laboratories” because of the ease with which you can explore new semantics. Haskell is has done a great job at opened up a specific space of new possibilities in type systems and their relationship with category theory while remaining a very practical and high-performance programming language at the same time, and that is excellent, but there are still completely different directions worth exploring as well.

      3. 2

        Pet peeve, can submitters of github projects please link to the actual “content” (usually a Readme, but in this case an effing web page) so that we don’t have to scroll past a list of all the files in a repository to read it?

        1. 2

          I agree a direct link to the README would have been nicer in this case. And in general, when linking to READMEs, please link to #readme on the project’s main page rather than to blob/master/README.md – the anchor link version makes it easier to see the project’s description, files, and other details after you’ve read the README.