[Haskell-beginners] A very counterintuitive behaviour of Haskell

Renzo Orsini renzo.orsini at gmail.com
Thu Jan 27 16:31:36 CET 2011


Thank you very much to everybody.  Your explanation is perfectly clear! I was reading the tutorial at http://learnyouahaskell.com/syntax-in-functions . Initially the tutorial cited GHCi, so I mistakenly wrote the functions on different lines.

Thank very much again. I regained the desire of continuing my study... :-)

Renzo

On Jan 27, 2011, at 16:09 , jean verdier wrote:

> You have defined 2 functions that are called f and only the last
> definition is used (f x = "no").
> The definition you want should be written
> let f 7 = "ok"; f x = "no"
> so the function is defined once.
> The problem comes from using the interpreter and not from haskell.
> 
> 
> On Thu, 2011-01-27 at 15:55 +0100, Renzo Orsini wrote:
>> In studying Haskell, I produced the following output from GHC:
>> 
>> xxx-3:~ xxx$ GHCi
>> GHCi, version 6.12.3: http://www.haskell.org/ghc/  :? for help
>> Loading package ghc-prim ... linking ... done.
>> Loading package integer-gmp ... linking ... done.
>> Loading package base ... linking ... done.
>> Loading package ffi-1.0 ... linking ... done.
>> Prelude> let f 7 = "ok"
>> Prelude> let f x = "no"
>> Prelude> f 3
>> "no"
>> Prelude> f 7
>> "no"
>> 
>> 
>> I suppose it is correct. However, for someone who is interested in the language, it seems very counterintuitive... Somebody would be so kind to explain to a neophyte this "feature" of the language?
>> 
>> Thank you very much.
>> 
>> Renzo
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
> 
> 




More information about the Beginners mailing list