17 Feb
2004
17 Feb
'04
10:40 p.m.
In article <Pine.LNX.4.21.0402161643310.20625-100000@dark.darkweb.com>, Ben Rudiak-Gould <benrg@dark.darkweb.com> wrote:
Bear in mind you can't even write IO (forall t. whatever) in Haskell.
True, but why is this? Is there a deep reason why we can use nested foralls as the arguments to (->), but not as the arguments to any other type constructor?
Apparently it makes type-checking Very Very Hard. Simon PJ may have explained it to me ("impredicative", he called it), but I don't remember offhand. -- Ashley Yakeley, Seattle WA