Advice implementing new constraint entailment rules

Simon Peyton Jones simonpj at microsoft.com
Thu Mar 5 09:24:02 UTC 2020


Hi Matt

I think you are right to say that we need to apply proper staging to the constraint solver.   But I don't understand your constraint rewriting rules.

Before moving to the implementation, could we discuss the specification?  You already have some typeset rules in a paper of some kind, which I commented on some time ago.  Could you elaborate those rules with class constraints?  Then we'd have something tangible to debate.

Thanks

Simon

|  -----Original Message-----
|  From: ghc-devs <ghc-devs-bounces at haskell.org> On Behalf Of Matthew
|  Pickering
|  Sent: 05 March 2020 08:16
|  To: GHC developers <ghc-devs at haskell.org>
|  Subject: Advice implementing new constraint entailment rules
|  
|  Hello,
|  
|  I am attempting to implement two new constraint entailment rules which
|  dictate how to implement a new constraint form "CodeC" can be used to
|  satisfy constraints.
|  
|  The main idea is that all constraints store the level they they are
|  introduced and required (in the Template Haskell sense of level) and
|  that only constraints of the right level can be used.
|  
|  The "CodeC" constraint form allows the level of constraints to be
|  manipulated.
|  
|  Therefore the two rules
|  
|  In order to implement this I want to add two constraint rewriting
|  rules in the following way:
|  
|  1. If in a given, `CodeC C @ n` ~> `C @ n+1`
|  2. If in a wanted `CodeC C @ n` -> `C @ n - 1`
|  
|  Can someone give me some pointers about the specific part of the
|  constraint solver where I should add these rules? I am unsure if this
|  rewriting of wanted constraints already occurs or not.
|  
|  Cheers,
|  
|  Matt
|  _______________________________________________
|  ghc-devs mailing list
|  ghc-devs at haskell.org
|  https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask
|  ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-
|  devs&data=02%7C01%7Csimonpj%40microsoft.com%7C52ec5ca4f50c496b25e808d7
|  c0dd8534%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637189929963530670&a
|  mp;sdata=0T2O%2FaAcIU9Yl61x2uPzl4zUG4P3jl6iA97baIDlSsM%3D&reserved=0


More information about the ghc-devs mailing list