FYI, Travis and friends have done a LOT of open-source posting on their usage of Embedded Haskell and Haskell for electronic warfare. They have some kind of embedded Haskell setup that’s military grade and suitable for hard real time (and they brag about it). See: Anduril Industries is hiring Haskell Developers
As for Linear Haskell, the idea is that you use linear types to remove the need for a garbage collector as it’s explicit when memory needs to be cleaned up, in the same way Rust has GC-like characteristics via affine types but doesn’t actually use a GC.
In theory, it’s supposed to make Haskell suitable for hard real time use, but at least the clearspace version is extremely experimental. I’ve overheard that Linear Haskell doesn’t even outperform the ST type in many cases because of missing compiler optimizations.
A while back, someone commented to me that the military is very big on experimental languages and computer technology, at least for experiments, i.e, someone claimed that the logistics management of Desert Storm was handled by Prolog, of all things. In fact, remember that we’re all using the semi-civilianized descendant of ARPANET.
To me at least, it sounds like one of those things where we all pretend everything is normal until someone defects to the Russians after the Hong Kong government refuses to extradite them, blaming paperwork errors, and we get a tell-all. Except that there’s already a lot of stuff publicly disclosed by Anduril themselves.
It just doesn’t compile when you add it from hackage and try to use it with a recent GHC version (I’m talking about the latest stable gogol-0.5.0). And it’s been in that state for years so nobody felt the pain of not having it. The examples didn’t work with the existing code base and there was no documentation to get you on-boarded easily.
This is all a bit confusing, since the latest stable gogol seems to be, as of two days ago, 1.0.0.0, it does compile with latest GHC, and you’re listed as a maintainer!
So maybe you joined the project to help update the Hackage release? If so, great!
Not sure how to put this politely, so I won’t try too hard. If the only path to growth of Haskell is through its adoption in creating tools of death and destruction and mass surveillance, I would rather it fail. (https://www.nature.com/articles/238361a0.pdf)
That said, the sky is not falling, and we have no need to raise such panicked hue and cry as to induce people to abandon their moral compunctions. As the current administration demonstrates, government contracts are fickle creatures, and Haskell is best served growing elsewhere regardless.
It is funny to see this discussion in the era of LLMs, where people write informal instructions to write programs instead of writing to antiquated formal languages.
There are things that are worth dying, but some people hold onto it begrudgingly. It is interesting, to say the least.
I admire your convictions (and I say this without any sarcasm). But I fail to understand what we can do about it.
If we improve the language overall, make it more robust, better for real-time systems, better for security and safety systems… it will also benefit those immoral players that you’re referring to. Should we therefor stop all efforts?
What exactly are you proposing? Or did you just intend to make a moral statement?
Yes, I’ve been helping shape the library for latest ghc versions. But it doesn’t invalidate my point, today is May 10th, 2025, and there isn’t a library for working with GCP. This is something that’d had happened long time ago, IMHO and related to the question. In fact, Gogol it is still brittle relying on the REST code generation instead of the recommended gRPC APIs. At some point it could be invalidated by Google.
When one works on open-source software, it comes with the territory that it may be used for all sorts of things one is not necessarily enthusiastic about, or worse. I’m simply suggesting that we not worry too much or particularly chase after unsavory applications. If they want to use it, that’s their right – that’s what the license says. But there’s so many other fields that I would be excited and happy to see Haskell adoption in, where I think the benefits of the technology and ecosystem could do good for the world – I’d rather worry about optimizing for them.
Informal instructions get us vibing, but outside of toy projects, people can’t escape the need for strategic reasoning & control imo. I think that in a world of AI, Haskell could shine!
Great type expressivity, to direct and constrain coding agent efforts, and facilitate understanding of generated code.
GHC as perfectionist enforcer. Hook it up to agentic dev process, along with error index and profiling info (space/time) etc. When it compiles, we’re already ahead of the game compared to most languages.
Fearless refactoring of effectful code at scale!
And some of the issues that languages collectively face can be ameliorated by credit based resources of course, like increasing library support.
Related to this overall thread, Haskell having a great working relationship with LLMs would definitely boost commercial use.