[Haskell-cafe] What is <-
Miguel Mitrofanov
miguelimo38 at yandex.ru
Sun Aug 8 09:42:19 EDT 2010
On 8 Aug 2010, at 17:36, michael rice wrote:
> What is <- ? Couldn't find anything on Hoogle.
>
> 1) main = do
> x <- getLine -- get the value from the IO monad
> putStrLn $ "You typed: " ++ x
>
> 2) pythags = do
> z <- [1..] --get the value from the List monad?
> x <- [1..z]
> y <- [x..z]
> guard (x^2 + y^2 == z^2)
> return (x, y, z)
>
>
>
> From: http://en.wikibooks.org/wiki/Haskell/Syntactic_sugar
>
> Do and proc notation
>
>
> Sweet Unsweet
> Monadic binding do x <- getLIne getLine >>= \x
> ->
> putStrLn $ "You typed: " ++ x putStrLn $
> "You typed: " ++ x
>
>
> So, Example 2 desugared becomes...
>
> [1..] >== \z -> ?
[1..] >>= \z ->
[1..z] >>= \x ->
[x..z] >>= \y ->
guard (x^2 + y^2 == z^2) >>
return (x, y, z)
Isn't that kinda obvious?
>
>
>
>
>
> Michael
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list