Derek Elkins <[EMAIL PROTECTED]> wrote: > Personally, I would mind ($) being magical. One of the nice things > about Haskell is there is practically no magic. The last thing I want > is Haskerl (http://www.dcs.gla.ac.uk/~partain/haskerl.html). runST > simply had a rank-2 type that is not expressible in Haskell 98, it > seems getting ($) to "work" would be qualitatively different.
No. All that is needed for ($) to work is impredicativity (or, more precisely, for the foralls in ($)'s type to be impredicative). That is something that could easily be implemented in a compiler. I'm not clear on why it hasn't been, but the type system, in relation to an arbitrary-rank predicative system, is no more of a jump that higher-rank types were. Jonathan Cast _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe