[Haskell-beginners] Case statements shorter

uu1101 at gmail.com uu1101 at gmail.com
Tue Nov 2 14:46:17 EDT 2010


Nice distinction! Thank you for the correction.

Il giorno 02/nov/2010, alle ore 09.11, Roel van Dijk <vandijk.roel at gmail.com 
 > ha scritto:

> On Mon, Nov 1, 2010 at 7:23 PM, uu1101 at gmail.com <uu1101 at gmail.com>  
> wrote:
>> * _ is not a special keyword in haskell. It's a regular variable so  
>> will
>> always match. It's usually used when you don't use it's value in  
>> the right
>> hand side or when it adds no information. In this case its value  
>> will be n
>> so there is no reason to introduce another name.
>
> This is incorrect. _ is a pattern not a variable.
>
> I can write
>
> f (_:_) = "bla"
>
> but not
>
> f (x:x) = "bla"
> Conflicting definitions for `x' In the definition of `f'
>
> So _ is a pattern that always matches but is never bound to a value.
>
> Regards,
> Roel



More information about the Beginners mailing list