
13 Sep
2010
13 Sep
'10
7:21 a.m.
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