[Haskell] Strange "let"

Ben Lippmeier Ben.Lippmeier at anu.edu.au
Wed Jul 21 01:40:31 EDT 2004


Ha!,

What you've done is redefine the (+) function.. try 10 + 30 and see what 
you get.
Your local definition shadows the "real" (+) function defined in the 
prelude.

let a + b = 3

is equivalent to

let (+) a b = 3

...



Jinwoo Lee wrote:

>Hi,
> 
>I'm a Haskell newbie.
> 
>I was trying several things with GHCi and found out that the expression "let
>a + b = 3" does not generate any errors.
> 
>Prelude> let a + b = 3
>Prelude> a
>
><interactive>:1: Variable not in scope: `a'
>Prelude> b
>
><interactive>:1: Variable not in scope: `b'
>Prelude>
>
>What does "let a + b = 3" mean in this case?
>
>I also tries with GHC compiler using the code below, but it generates no
>error.
>
>main :: IO ()
>main =
>  do let a + b = 3
>     putStrLn "Hello"
>
>Could somebody answer this?
>
>Jinwoo
>
>
>_______________________________________________
>Haskell mailing list
>Haskell at haskell.org
>http://www.haskell.org/mailman/listinfo/haskell
>
>  
>



More information about the Haskell mailing list