upvote
Haskell is a great research language - just don't try to use it for actual production programming. ;-)

It has a lot of excellent ideas and devilishly clever abstractions, but in Haskell they tend to remain incomplete and awkward to use. They tend to only mature by translation to other languages.

reply
One of the best features of Idris 2 has nothing to do with its dependent types or quantities or proof search: it's the standard library which is very much like a cleaned-up Haskell standard library, with proper overloading to avoid naming conflicts, and even the ability to select among multiple interface implementations for the same type.

For some simple examples see https://github.com/stefan-hoeck/idris2-tutorial

reply
> Haskell is a great research language - just don't try to use it for actual production programming. ;-)

Oops, your advice came ten years and millions of dollars of value generated too late for me :(

reply
Just imagine the billions of value you could've generated with a more programmer-friendly language!

All jokes aside, it isn't impossible to use Haskell for a commercial project, but in my opinion you are making things needlessly difficult for yourself - especially in the pre-AI era. There's only a certain hours in a week, so do you want to spend those writing business logic, or building libraries to make up for the gaps in the ecosystem?

Take Ruby, for example. It is by most metrics not exactly a great language, and I reckon there are very few applications where the language itself is the best option. But take Ruby on Rails and you've suddenly got an opinionated batteries-included web app stack, where you can spend 99% of your time writing only the business logic that matters. No need to spend days fighting with Servant to get its not-quite-there-yet typed DSL to let you write basic CRUD, you can just focus on your MVP.

Want to send some email? You can either write your own Haskell integration of their REST API - orrr use their first-party C# SDK. Rinse and repeat for a dozen dependencies.

And all of that is before it turns out that some of your developers aren't the 20x rockstars you thought they were, and some of their clever high-level abstractions are horribly broken and doing more harm than good...

Haskell for me is "the one that got away". I really like the core language and I really want to use it for absolutely everything, but the ecosystem and culture around it just make that impossible.

reply
Some examples of those?
reply
I've been vibe coding my own language and it's compiler is in Haskell, it's been great for the agents to be inspired by Haskell and I'm having fun just adding random language features, currently implementing prophecy ghost variables. Not really a public project but can suss it out for now at http://lsalpha.com
reply
This is super cool! You should put a clear example implementation of a feed forward network, transformer block, loss function, or something more ML specific on the homepage, assuming you're primarily targeting that domain.

EDIT: also the links to GitHub on https://lsalpha.com/systems are 404ing for me, so I exited your site without an example of what a real implementation might look like.

reply
That is a great suggestion, and you are correct, so I will do what you said!
reply
Neatly summarises my experience of most vibe coded projects unfortunately.
reply
Presumably the repo is private...
reply
deleted
reply
While I agree, I also think that with agents the programming language fun is over, as we migrate to formalisms to drive them to perform the desired actions themselves.

Sure some folks will be able to look under the hood, like the ones writing language runtimes nowadays, transitioning into writing agentic runtimes.

reply