"Blessed" or "standard" parts of the ecosystem

Background
I use Haskell in my daytime job (web based SaaS) and we have “solved” our needs in different ways. However, today I got curious on how the Haskell Foundation (HF) sees different parts of the ecosystem and if HF has blessed/affiliated/sponsored any of them.

In this post I do not argue that HF should officially aid different actors nor which - I’m just curious on the current situation. I have checked the HF website and other sources and found some answers but not the full picture.

I know what I like and what I think is a good way forward but that is not the point of this post - I am looking for an update on the official HF standing so far.

So my question is this:

  • Which categories below, if any, have “official”/blessed/affiliated/sponsored/“standard” options? I mean primarily from a HF standpoint since HF tries to facilitate and coordinate the community long term.

secondly

  • Do any categories have options that are “deprecated” or recommended to avoid?

I include some options in brackets, not to suggest that those should be the official choice but to clarify what I mean. It could be that no option in that category should be backed by HF.

  • Download and installation (ghcup)
  • User guide
  • Documentation (haddock)
  • Linting (hlint)
  • Formatting (ormolu)
  • IDE-tools (Haskell Language server)
  • Testing (Hspec, Hedgehog)
  • Database (Persistent, rel8)
  • Web page framework (IHP, yesod)
  • Api framework (servant)
  • Build tools, (cabal,stack, nix, blaze bazel)
  • How to build in a modern CI setup, building naïvely from scratch takes too long
  • Logging
  • APM integration, Application Performance monitoring (New Relic, Instana)
  • Deploy method(Docker, nix, aws elastic beanstalk, Azure)

If this is clearly documented somewhere and I’ve missed it I’m sorry.

Have a great day!

I think you mean bazel.


There is a list of affiliates which includes IHP and haskell-language-server and cabal and stack are pending. But it is not really a list of “blessed” libraries.

Maybe instead of a fixed list of libraries, would it be better to improve Hackage’s categories and rating system? I often look at the last package upload date and number of downloads to get an idea of how actively supported a package is. I think that is often pretty accurate. Maybe something like that could be built-in to Hackage or a service built on top of Hackage to find the most popular packages for each category.

1 Like

Yes, you are correct, I meant bazel, thanks.

To improve the information on Hackage is a good idea, even if it does not solve all of the issues.

For the categories that are not part of the affiliated page nor are packages
(Linting, formatting, “How to run a modern CI setup with Haskell”, APM and deployment methods); Have HF taken a decision about those things? (that would be perfectly understandable if not, HF have done a lot already but we are just a few months in :slight_smile: )

About hackage discoverability, a number of tickets with ux component are about that, and contributors/PRs would be very appreciated: https://github.com/haskell/hackage-server/issues?q=is%3Aissue+is%3Aopen+label%3A"component%3A+ux"

See in particular: https://github.com/haskell/hackage-server/issues/680 and https://github.com/haskell/hackage-server/issues/749 and https://github.com/haskell/hackage-server/issues/708

On the broader question: I think the HF should absolutely not “bless” particular packages for web frameworks, database access, etc. It may well direct resources towards helping improve particular widely used ones, but even then I would not want that interpreted as saying these were “better” than the alternatives. Promoting competition in these spheres is a good thing. The HF should be about promoting and improving (to one degree or another) all commonly used libs and tools, helping where its most useful and feasible.

That said, there is a concerted effort to support a single uniform download and install method, as well as to put together more comprehensive documentation, a users guide, etc. all of which is I think grouped under a “haskell school” plan that @Kleidukos has been centralizing. My understanding is that part of this would also be having pages that didn’t necessarily pick “winners” but highlighted the commonly used libraries for various sorts of tasks.

4 Likes

In my mind, the issue is not if something is somehow ‘endorsed’ or ‘official’, but rather, how stable is it? How well can I expect it to be supported?