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.
This is capturing what troubles I face when started with Haskell and eventually go back to Golang.
Simple tool, go binary has everything build-tool, package managment and formatting (except lsp, which they ship with golsp)
their packages are grealty documented.
There is no 2 major systems like Cabal vs Stack.
Even Clojure suffers with this clj and lein
Golang has a nice tour, by them
Haskell tons of books and everything, but 0 to little guide on their official website ‘haskell.org’
I wish they had a standard book (like Rust book) and something like rustlings consider how tough of a language and number of features and concept it has!
The simple tool go binary includes everything: build tools, package management, and formatting (except LSP, which is shipped with golsp). Their packages are well documented.
There are no two major systems like Cabal vs. Stack.
The maintainers of GHC, Cabal, Stack, and the Haskell Language Server are different groups. So who truly represents the official version?
What I want to say is that comparing Haskell to languages like Go or Rust isn’t fair from an economic perspective. As SPJ said, it’s a gift economy—what we can do is offer more constructive criticism and contribute more.
There are different types of “beginners”: those with no programming background and those with a few years of experience in other (non-functional) languages.
Therefore, providing a “standard” answer is difficult. I used to recommend choosing a language based on what your friends use, as Peter Norvig suggests in Teach Yourself Programming in Ten Years:
Rustlings was a lot of fun, though it starts testing beyond the book when it reaches interior mutability iirc. “Hasklets” would be great, as would Haskell by Example. Start with a beginner track, and give the chance to reach 100%. Builds confidence ahead of intermediate concepts.
On overall growth, I think that after learning beginner Haskell, it would be great to have obvious signposting towards community projects that could accommodate that experience level of assistance. Keep people involved, and benefitting the community.