On 10 March 2011 14:47, Daniel Fischer <[email protected]> wrote: > 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 _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
