Mmmmh... no, to do that you need ImpredicativeTypes (which is I believe about to be deprecated). You have to declare Job a data, not a type, and use ExistentialQuantification.
2012/6/13 Ismael Figueroa Palet <ifiguer...@gmail.com> > Do you want to hide the specific types of the job? Presumably to then > define a type JobList = [Job] ? > You can do that with the ExistentialQuantification extension. > > type Job = forall k a. Map k a > type JobList = [Job] > > ?? > Note you can't unpack the types k a once you have hidden them. But the > typechecker can use it to ensure some static property. > Also you could use unsafeCoerce to do some casts, but *only if you are > *sure* that things will go OK*. > > > 2012/6/13 Magicloud Magiclouds <magicloud.magiclo...@gmail.com> > >> Hi, >> I've forgotten this. >> This is OK: >> type Job k a = Map k a >> And this is OK: >> {-# LANGUAGE RankNTypes #-} -- or LiberalTypeSynonyms? >> type Job = forall a. forall k. Map k a >> >> Then how to write it like this? >> type Job = Map k a >> -- >> 竹密岂妨流水过 >> 山高哪阻野云飞 >> >> And for G+, please use magiclouds#gmail.com. >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> > > > > -- > Ismael > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe