[ghc-steering-committee] Proposal #209: Levity polymorphic lift. Recommendation: accept
Eric Seidel
eric at seidel.io
Sat Mar 2 21:41:56 UTC 2019
Hi everyone,
This proposal[1] makes the `lift` and `liftTyped` methods of the `Lift` class levity-polymorphic, which allows us to write proper `Lift` instances for unlifted types. It would also allow GHC to remove the special logic that currently supports lifting records with unlifted fields.
The main downside is the potential for breakage since `lift @Foo` would now fix the RuntimeRep parameter rather than the `a`. This is unfortunate, but I doubt it will show up much. It also unfortunately requires making both `lift` and `liftTyped` methods, when we had just decided to extract `lift` from the class.
I recommend accepting the proposal.
Thanks!
Eric
[1]: https://github.com/harpocrates/ghc-proposals/blob/levity-polymorphic-lift/proposals/0000-levity-polymorphic-lift.rst
More information about the ghc-steering-committee
mailing list