[GHC API stability] Update #3

Dear all,

Here is the third update after the previous one.

There were more conversations during this period, which I have incorporated to the previously shared feedback report. There are new entries for

  • ghc-dump-core
  • ghc-source-gen
  • haskell-language-server
  • haskell-stack-trace-plugin
  • hi-file-parser
  • hlint
  • MagicHaskeller
  • uom-plugins

I also wrote a plugin to collect lists of names and modules from the GHC API, and a script to find the most commonly used names and modules. Both of these artifacts can be found in this repository. The example output referred in the readme contains the summary with the packages that have been analyzed so far. Suggestions to make the summary more informative, or packages to include in the analysed set are welcome.

The next step is going to be proposing possible actions to improve the experience of using the GHC API. I’ll be trying to identify small steps for a path that honors the feedback, and ideas are welcome here too. Options I’m seeing at the moment include documenting better types and functions in the GHC API, or providing dedicated interfaces for specific domains (e.g. polishing ghc-exactprint, or ghc-tcplugin-api, or ghc-source-gen, or the functions that deal with environment files).

Thanks to everyone who shared their feedback already, and as usual, if you haven’t reached out but have an opinion, or a project that uses GHC as a library, I’ll be glad to hear from you.

Cheers!

16 Likes

Thanks for doing this! I somehow missed your invitation to provide feedback earlier, but I maintain IHaskell which also uses the GHC API. Is there a way this project could also be considered going forward?

2 Likes

Hello Vaibhav! I’m happy to incorporate IHaskell.

Would you like to comment on whether there are any aspects of GHC that have affected the maintenance cost of IHaskell?
Either here or private messages would work.

Cheers!

1 Like

:wave: Update #4 is out!