
23 Oct
2017
23 Oct
'17
11:06 a.m.
I am working on the Trees that Grow stuff, and hit a small problem I have type family XIB x thing type family XNewImplicitBndrs x thing type ForallXImplicitBndrs (c :: * -> Constraint) (x :: *) (thing :: *) = ( c (XIB x thing) , c (XNewImplicitBndrs x thing) ) and I want to extend the DataId constraint type DataId p = ( Data p , ForallXImplicitBndrs Data p thing ) But the problem is I do not have `thing` at this point, and to get it in the code will involve some hs-boot nastiness. Is there any way to require "forall thing. Data thing" inside the DataId constraint? Alan