Haskell/GHC ecosystem

Is the Haskell Foundation at all interested in doing work not related to GHC? It’s fine if the answer is no, but it would be interesting to know.

4 Likes

The ressources of the Haskell Foundation could be spent on an alternative compiler, like MicroHS (edit: or anything else really!), provided that it positively impacts the community.

Do you have something specific in mind?

I can give some examples:

  • Make Haddock usable on code not aimed for GHC. It can use GHC as the parser, but should not assume GHC libraries like base.
  • Make Cabal understand MicroHs.
  • Split base into the parts that depends on GHC internals and the parts that don’t.
  • Split the test suite out of GHC so it can be reused, and arrange it by extensions.

There are no doubt more things.

Will this benefit the community? If the community is just GHC users, maybe not so much.

13 Likes

Decoupling from GHC is something that can be beneficial to everyone. We can focus on this. For example, splitting base is a good idea – and it’s currently being done I think. Maybe decoupling Haddock can be beneficial as well, I don’t know.

People can make a case for spending HF resources for technical projects via a tech proposal

I split the discussion into a new one becuase it was getting at best tangent to the topic.

1 Like

I want to add that we’re considering to use MicroHs as a bootstrap compiler for GHC in stable-haskell.

8 Likes

GHC uses type families. MicroHs will eventually get them.

2 Likes

these are all good ideas yes

using hegg’s equality saturation from day 0 for normalization :wink:? Happy to discuss it in more detail.

2 Likes

I wonder if the code ecosystem that supports alternate compilers, like the libraries available on MicroCabal. Would be practical for the idris2 compiler to support. If so this could be an usefull project
MicroHS supports a lot less advanced type level features than GHC. Maybe code that uses such a haskell subset can mapped cleanly onto the idris2 compiler.

For example GADTs are supported by microHS. It seems the idris2 compiler could support haskell with GADTs by mapping them to one specific case of dependent types. So haskell libraries that use GADTs could be used from idris2, as libraries that utilize dependent types