
10 Mar
2011
10 Mar
'11
11:15 a.m.
On 10 March 2011 14:47, Daniel Fischer
If memory serves correctly, it's impredicative polymorphism.
Indeed. For example the following also doesn't type check in GHC-7: foo :: (forall s. ST s a) -> a foo st = ($) runST st Surprisingly the following does: foo :: (forall s. ST s a) -> a foo st = runST $ st Because GHC contains a special rule for infix $. Also see: http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/19152 Bas