<div dir="ltr">Hi Ben,<div>Thanks for the reply</div><div><br></div><div>> Incidentally, the collapse of LiftedRep and UnliftedRep will happen in<br>> GHC 9.2 (turning into `BoxedRep :: Levity -> RuntimeRep`).<br></div><div><br></div><div>Yes I believe this change was accidentally merged a few months ago then reverted? I will keep that in mind.</div><div><br></div><div>> Can you provide a program that your patch rejects, as well as<br>> the full error that is produced?<br></div><div><br></div><div>My error is in stage 1 in the building of the ghc-bignum library. I have attached the full error as well as the patch itself.</div><div><br></div><div>Thanks,</div><div>Shant</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 5, 2021 at 7:41 PM Ben Gamari <<a href="mailto:ben@smart-cactus.org">ben@smart-cactus.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Shant Hairapetian <<a href="mailto:shanth2600@gmail.com" target="_blank">shanth2600@gmail.com</a>> writes:<br>
<br>
> Hello,<br>
><br>
> I’m a master’s student working on implementing the changes outlined in<br>
> “Kinds are Calling Conventions“ (<br>
> <a href="https://www.microsoft.com/en-us/research/uploads/prod/2020/03/kacc.pdf" rel="noreferrer" target="_blank">https://www.microsoft.com/en-us/research/uploads/prod/2020/03/kacc.pdf</a>). I<br>
> have been working directly with Paul Downen but have hit some roadblocks.<br>
><br>
> To sum up the changes to the kind system, I am attempting to modify the<br>
> “TYPE” type constructor to accept, rather than just a RuntimeRep, a record<br>
> type (called RuntimeInfo) comprised of a RuntimeRep and a CallingConv<br>
> (calling convention). The calling convention has an “Eval” constructor<br>
> which accepts a levity (effectively moving the levity information from the<br>
> representation to the calling convention. LiftedRep and UnliftedRep would<br>
> also be collapsed into a single PtrRep constructor) and a “Call”<br>
> constructor (denoting the arity of primitive, extensional functions,<br>
> see: Making<br>
> a Faster Curry with Extensional Types<br>
> <<a href="https://www.microsoft.com/en-us/research/uploads/prod/2019/07/arity-haskell-symposium-2019.pdf" rel="noreferrer" target="_blank">https://www.microsoft.com/en-us/research/uploads/prod/2019/07/arity-haskell-symposium-2019.pdf</a>>)<br>
> which accepts a list of RuntimeRep’s. I have created and wired-in the new<br>
> RuntimeInfo and CallingConv types in GHC.Builtin.Types, as well as the<br>
> corresponding primitive types in GHC.Builtin.Types.Prim and have modified<br>
> the “TYPE” constructor to accept a RuntimeInfo rather than a RuntimeRep.<br>
><br>
Hi Shant,<br>
<br>
It would be helpful to have a bit more information on the nature of your<br>
failure. Can you provide a program that your patch rejects, as well as<br>
the full error that is produced?<br>
<br>
Incidentally, the collapse of LiftedRep and UnliftedRep will happen in<br>
GHC 9.2 (turning into `BoxedRep :: Levity -> RuntimeRep`).<br>
<br>
Cheers,<br>
<br>
- Ben<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Shant Hairapetian</div>