Shant Hairapetian <shanth2...@gmail.com> writes: > Hello, > > I’m a master’s student working on implementing the changes outlined in > “Kinds are Calling Conventions“ ( > https://www.microsoft.com/en-us/research/uploads/prod/2020/03/kacc.pdf). I > have been working directly with Paul Downen but have hit some roadblocks. > > To sum up the changes to the kind system, I am attempting to modify the > “TYPE” type constructor to accept, rather than just a RuntimeRep, a record > type (called RuntimeInfo) comprised of a RuntimeRep and a CallingConv > (calling convention). The calling convention has an “Eval” constructor > which accepts a levity (effectively moving the levity information from the > representation to the calling convention. LiftedRep and UnliftedRep would > also be collapsed into a single PtrRep constructor) and a “Call” > constructor (denoting the arity of primitive, extensional functions, > see: Making > a Faster Curry with Extensional Types > <https://www.microsoft.com/en-us/research/uploads/prod/2019/07/arity-haskell-symposium-2019.pdf>) > which accepts a list of RuntimeRep’s. I have created and wired-in the new > RuntimeInfo and CallingConv types in GHC.Builtin.Types, as well as the > corresponding primitive types in GHC.Builtin.Types.Prim and have modified > the “TYPE” constructor to accept a RuntimeInfo rather than a RuntimeRep. > Hi Shant,
It would be helpful to have a bit more information on the nature of your failure. Can you provide a program that your patch rejects, as well as the full error that is produced? Incidentally, the collapse of LiftedRep and UnliftedRep will happen in GHC 9.2 (turning into `BoxedRep :: Levity -> RuntimeRep`). Cheers, - Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs