On Tue, Dec 20, 2005 at 10:04:16PM +0100, Benjamin Franksen wrote: > and would also be unsafe without some kind of strong guarantee that each > single 'world' value is unique. (This is how they do it in Clean.) > Imagine > > g :: World -> World > g world = let world' = putStrLn "first line" world > in putStrLn "second line" world -- oops, forgot the "'"
A more scary example: getLine :: World -> (World, String) getTwoLines :: World -> (World, String, String) getTwoLines world = let (world', line1) = getLine world (world'', line2) = getLine world -- oops, should use world' here in (world'', line1, line2) So we forgot about world', but used line1, which was produced together with world'. Best regards Tomasz -- I am searching for a programmer who is good at least in some of [Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe