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
_______________________________________________
ghc-devs mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to