moved to haskell-cafe
On Mon, 5 Mar 2012, Barney Hilken wrote:
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?
I don't know what you want to do, but you may wrap the (forall a. [a] ->
[a]) in an existential type:
data ListFunc = forall a. ListFunc ([a] -> [a])
class Has r Rev ListFunc => HRClass r where
setHRClass :: ListFunc -> r -> r
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe