[Haskell-cafe] Extending constraints
Andres Löh
andres at well-typed.com
Tue Jun 5 17:52:30 CEST 2012
Hi Bas.
I haven't thought about this for long, but ...
> data ProxyWrapper constraint =
> forall a. constraint a => ProxyWrapper (Proxy a)
I'm assuming adding Typable a in ProxyWrapper is not an option for you?
So then what about:
class (c1 a, c2 a) => Ext c1 c2 a
instance (c1 a, c2 a) => Ext c1 c2 a
typeOfInnerProxy :: ProxyWrapper (Ext Typeable constraint) -> TypeRep
typeOfInnerProxy (ProxyWrapper p) = typeOfArg p
This will certainly require all sorts of undecidable instances :) But
does it work for you?
Cheers,
Andres
--
Andres Löh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com
More information about the Haskell-Cafe
mailing list