Hi all I have come to the sad realisation that I am not actually part of the Haskell ecosystem any more. I joined at a time of my life when I was doing management work with lots of free time, and needed something to occupy my brain. Haskell and contributing to GHC did that for me in spades. But for the last few years I have been working as an individual contributor, in a non-Haskell ecosystem. So my available time and motivation for Haskell has fallen off. I have always been interested in developer tooling, and refactoring in particular. My efforts to restore the Haskell Refactorer (HaRe) led, after many false starts, to implementing the Exact Print Annotations in GHC (using Trees That Grow), and the companion library to make use of it, ghc-exactprint. This library works in lockstep with GHC releases, so for every GHC (major) release there needs to be a new ghc-exactprint release. I have been doing this every release since the first one in 2015, and it is something that needs to happen for every release. Over the last few years I have got the implementation to work the way I believe it should, and that it is now stable, so any changes going forward should just be tweaks to manage the inevitable changes to the language. I follow a well-defined process[1] for each new GHC version. My plan is to do this one more time, for the impending GHC 10.0, as the branch has now been cut. During/after that I would like to hand over to some other person(s) to take responsibility for this. The sanest approach might be to move the repo fully into GHC, much like Haddock. There is one more piece I have not been able to complete. I presented a built-in CPP at the last HIW at ZuriHac[2]. Afterwards, I completed and polished the branch[3], but ran out of steam to actually land it, as it would take a lot of consistent effort to get all parties to agree on whether it is even needed, and then to land it, deal with unintended consequences, documentation, and all the myriad other things that go with adding a new major feature. The itch I was scratching with it is to be able to cleanly handle CPP in ghc-exactprint, but it has benefits for other users too, in terms of performance, and being focused only on the actual directives, so it does not munge any unrelated code that just happens to look like a CPP directive. I would be happy to do a handover/collaboration with anyone interested in taking that over. Regards Alan [1] https://github.com/alanz/ghc-exactprint/blob/master/NEW-GHC.md [2] https://alanz.github.io/hiw2025/ [3] https://gitlab.haskell.org/ghc/ghc/-/tree/wip/az/ghc-cpp
participants (1)
-
Alan & Kim Zimmerman