[Haskell] Higher types in contexts
Simon Peyton-Jones
simonpj at microsoft.com
Tue Mar 6 23:40:17 CET 2012
Yes, it's hard: it's impredicative polymorphism. Dimitrios and Tim and I have a plan for a modest but reliable form of impredicative polymorphism, which we hope to have ready for the Haskell Symposium deadline. It is relatively simple, like QML, but a bit clumsy. That's the tradeoff.
Simon
| -----Original Message-----
| From: haskell-bounces at haskell.org [mailto:haskell-bounces at haskell.org] On
| Behalf Of Barney Hilken
| Sent: 05 March 2012 12:22
| To: haskell at haskell.org
| Subject: [Haskell] Higher types in contexts
|
| Is there any deep reason why I can't write a polymorphic type in a context? I think
| the record update problem can be (sort of) solved if you could write:
|
| class Has r Rev (forall a. [a] -> [a]) => HRClass r where
| setHRClass :: (forall a.[a] -> [a]) -> r -> r
|
| but polymorphic types are not allowed in contexts. Is this one of the problems SPJ
| considers "Hard" or is it a feasible extension?
|
| Barney.
|
|
| _______________________________________________
| Haskell mailing list
| Haskell at haskell.org
| http://www.haskell.org/mailman/listinfo/haskell
More information about the Haskell
mailing list