Skip to content

Don't expose Language.Haskell.TH.Lib.Internal from `template-haskell`

Language.Haskell.TH.Lib.Internal exists to provide utility functions for the desugaring of quote syntax.

The module header features this line:

This is not a part of the public API, and as such, there are no API guarantees for this module from version to version.

In our efforts to stabilise the API of the template-haskell package, we should stop exposing this module to users. Such a module is required for our implementation of TH but it should be exposed from a suitably internal package, likely, ghc-internal. If a user really wants to depend on this then they should do so via that package, which should make the lack of stability guarantees clearer.

I'm proposing putting a deprecation warning on the module for a few releases and then removing it from the template-haskell package. I'm not sure if the current comment is equivalent to a deprecation warning, but if we thought so we could just get rid of it right away.

See also:

Edited by Teo Camarasu
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information