[ghc-steering-committee] Please review #696: Splitting out stable interfaces from template-haskell
Adam Gundry
adam at well-typed.com
Thu Jun 26 08:25:04 UTC 2025
I'm also in favour.
I am suggesting some small naming changes, and I would point out one
detail on which the committee may have opinions as to bikeshed colour,
namely the module namespace to be used by the new packages. Teo proposes
template-haskell-lift with module TemplateHaskell.Lift
template-haskell-quasiquote with module TemplateHaskell.Quasiquoter
and I suggest slightly tweaking the latter to
template-haskell-quasiquoter with module TemplateHaskell.QuasiQuoter
for consistency with the QuasiQuoter type name.
In both cases, the module name is in a new TemplateHaskell module
hierarchy, whereas the existing template-haskell package uses the
Language.Haskell.TH module hierarchy. I think a renaming is in order,
because it gives a clear distinction between the historic API of the old
template-haskell package and the cleaned up APIs of the new packages.
Personally I like the new names, but I wanted to check others are also
happy with them?
Cheers,
Adam
On 23/06/2025 08:55, Sebastian Graf wrote:
> Dear Committee,
>
> With their proposal, Teo wants to reduce the maintenance cost for
> packages (such as `containers`) that depend on `template-haskell` only
> for comparatively stable APIs (`Lift`, quasiquoting), by carving out
> separate packages for these stable APIs.
> These so-called "type (A) clients" constitute a considerable share of
> all clients of `template-haskell`. It is a well-written proposal
> outlining a simple solution with a great cost/benefit ratio.
> I recommend we accept it.
>
> Cheers,
> Sebastian
>
> Am Mo., 16. Juni 2025 um 09:17 Uhr schrieb Adam Gundry via
> ghc-steering-committee <ghc-steering-committee at haskell.org
> <mailto:ghc-steering-committee at haskell.org>>:
>
> Dear Committee,
>
> Teo Camarasu proposes to split out smaller, more coherent packages with
> more stable interfaces from the template-haskell package:
>
> https://github.com/ghc-proposals/ghc-proposals/pull/696
> <https://github.com/ghc-proposals/ghc-proposals/pull/696>
> https://github.com/TeofilC/ghc-proposals/blob/wip/th-lift-and-quasiquote/proposals/0000-splitting-out-stable-interfaces-from-th.rst <https://github.com/TeofilC/ghc-proposals/blob/wip/th-lift-and-quasiquote/proposals/0000-splitting-out-stable-interfaces-from-th.rst>
>
> I'd like to nominate Sebastian as the shepherd.
>
> Please guide us to a conclusion as outlined in
> https://github.com/ghc-proposals/ghc-proposals#committee-process
> <https://github.com/ghc-proposals/ghc-proposals#committee-process>
>
> Cheers,
>
> Adam
>
--
Adam Gundry, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/
Registered in England & Wales, OC335890
27 Old Gloucester Street, London WC1N 3AX, England
More information about the ghc-steering-committee
mailing list