minh thu wrote:
Also, I'd like to know why

id id True

is permitted but not

(\f -> f f True) id

Because this requires rank-2 types:

Prelude> :set -XScopedTypeVariables
Prelude> :set -XRank2Types
Prelude> (\(f :: forall a. a -> a) -> f f True) id
True

HTH,

Martijn.

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to