Implement an unlifted Proxy type, Proxy#
A value of type 'Proxy# a' can only be created through the new, primitive witness 'proxy# :: Proxy# a' - a Proxy# has no runtime representation and is thus free. This lets us clean up the internals of TypeRep, as well as Adam's future work concerning records (by using a zero-width primitive type.) Authored-by:Edward Kmett <ekmett@gmail.com> Authored-by:
Austin Seipp <austin@well-typed.com> Signed-off-by:
Austin Seipp <austin@well-typed.com>
Showing
- compiler/basicTypes/MkId.lhs 17 additions, 2 deletionscompiler/basicTypes/MkId.lhs
- compiler/ghci/RtClosureInspect.hs 1 addition, 0 deletionscompiler/ghci/RtClosureInspect.hs
- compiler/prelude/PrelNames.lhs 6 additions, 0 deletionscompiler/prelude/PrelNames.lhs
- compiler/prelude/TysPrim.lhs 14 additions, 1 deletioncompiler/prelude/TysPrim.lhs
Loading
Please register or sign in to comment