Hello.

http://www.haskell.org/onlinereport/exps.html#sect3.14 a obscure (to me) note 
which says

"As indicated by the translation of do, variables bound by let have fully 
polymorphic types while those defined by <- are lambda bound and are thus 
monomorphic."

What actually does it mean?

And, also, would it make any difference if


do {p <- e; stmts}      =       let ok p = do {stmts}
    ok _ = fail "..."
  in e >>= ok

is redefined as "e >>= (\p -> do {stmts})"?

Thanks, Alexander

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to