Personal tools

Singleton list confusion

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(One intermediate revision by one user not shown)

Latest revision as of 07:16, 11 April 2008

Why do Haskell newcomers frequently believe, that list variables must be enclosed in brackets?

People sometimes write argument patterns like
, hoping that
will assume all values of a list successively.


case xs of
   [x] -> [f x]

although they meant

[f x | x <- xs]
or just
map f xs

It seems like they expect some kind of list comprehension.

However, if there wouldn't be a special list notation and if there wouldn't be the special syntax for the list type constructor (thus we must write
instead of
List a

then there would be certainly less confusion.

See for example Haskell-Cafe about testing for same characters in lists of strings, Pattern match failure