[Haskell-beginners] A very counterintuitive behaviour of Haskell

Antoine Latter aslatter at gmail.com
Thu Jan 27 16:08:28 CET 2011


On Thu, Jan 27, 2011 at 8:55 AM, Renzo Orsini <renzo.orsini at gmail.com> 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?

Here GHCi believes you've defined two functions.

Since they both have the same name, the most recent one wins :-)

Does that make sense?

Antoine


>
> 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