haskellfoundation / haskellfoundation/stability

Stabilising template-haskell

Open
#16 15 comments 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
29
Forks
3
PR merge metrics
No merged PRs in 30d

Description

I'd like to start a conversation about what steps we can take as a community to improve `template-haskell` backwards compatibility.

The interface of `template-haskell` is tightly coupled to Haskell's syntax. This means that constructors and fields need to be added often as the language expands. Reacting to these changes normally just requires adding a `Nothing` value at use-sites, but over the entire ecosystem over several releases this can add up to a lot of work.

My vague idea is to start publishing a package that exports a fixed `template-haskell` interface that isn't tied to a specific version of GHC. I think this can either happen by having minor versions of `template-haskell` support several GHCs or by creating a new package.

The main thing I'd like from this discussion is to figure out if there's some unforeseen blockers and to find other people who are keen to work on this idea. I think the key thing to get something like this working is having enough people to comfortably maintain the compatibility shim.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.