On Fri, 10 Oct 2008 00:24:08 -0400, John Dorsey <[EMAIL PROTECTED]> wrote:
>> dmehrtash: >> > What is the difference between empty list [] and list with one unit >> > element [()]? >> >> Prelude> length [] >> 0 >> Prelude> length [()] >> 1 > >Also, they differ in type. > >[()] is a list of unit elements, and happens to contain exactly one >of them. > >[] is a (polymorphic) list of any kind of element, and happens not to >contain any of them. Prelude> :type [] [] :: [a] Prelude> :type [()] [()] :: [()] In fact, [()] contains an empty tuple, called a "unit" (see "4 Notes and tips" of "Constructor - HaskellWiki" at http://www.haskell.org/haskellwiki/Constructor), whereas [] is just an empty list. -- Benjamin L. Russell _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
