Hi

> So what I noticed that "A Gentle Introduction to Haskell" mentioned
> that wild-cards are useful in constructors. For example:
>
> head (x:_) = x
>
> So, does that offer any performance benefits over:
>
> head (x:xs) = x

No. They are exactly the same. _ simply means "a new unique name".

> Or is it primarily to indicate to the coder that xs is useless?

Yes

> I get
> the impression it has a very similar meaning to the irrefutable
> pattern in regards to not evaluating it when the function is called.
> Or am I way off?

Way off :-) Nothing to do with irrefutable patterns, or demand of
evaluation, its got two uses:

1) Indicate to the reader that this argument is never used
2) Save you coming up with a name for the argument

Thanks

Neil
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to