
An example would be something like:
class Foo (p :: k -> Type) where
type Bar p :: k -> k
type (k ~ Type) => Bar p = p
-Edward
On Tue, Mar 8, 2016 at 8:24 PM, Edward Kmett
If and when that feature lands would it be possible to use it to bypass a current limitation in class associated types?
Notably if a class associated type has a more general kind, we currently can't give a default definition for it that has a tighter kind.
e.g. I have some classes which are technically polykinded but where 90% of the instances instantiate that kind as *. The status quo prevents me from putting in a type default that would only be valid when the kind argument is *.
-Edward
On Tue, Mar 8, 2016 at 8:21 PM, Richard Eisenberg
wrote: On Mar 8, 2016, at 7:17 PM, Evan Austin
wrote: The wiki page for Phase I of Dependent Haskell describes an approach to constrained type families:
https://ghc.haskell.org/trac/ghc/wiki/DependentHaskell/Phase1#Typefamilyequa...
Did that land in GHC 8.0 and, if so, is the updated syntax documented somewhere?
No, it didn't make it. The motivating test case seemed contrived and so we punted on this one.
Do you have a use case that really needs this feature? That would help to motivate it for 8.2 or beyond.
Thanks! Richard
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs