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 <[email protected]> wrote: > 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 <[email protected]> > wrote: > >> >> On Mar 8, 2016, at 7:17 PM, Evan Austin <[email protected]> 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#Typefamilyequationscanbeconstrained >> >> 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 >> [email protected] >> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >> >> >
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
