22 lines
749 B
TeX
22 lines
749 B
TeX
|
The list is probably the most basic data structure in Haskell. Like the array in C. It is a singly-linked list and is very lazy. The compiler has numerous ways to optimize lists, so don't be afraid to use them, even for huge things.
|
||
|
\pause
|
||
|
We build lists by using either the \code{[]} notation:
|
||
|
\begin{haskellcode}
|
||
|
list1 :: [Integer]
|
||
|
list1 = [1, 2]
|
||
|
\end{haskellcode}
|
||
|
\pause
|
||
|
or by using the \emph{cons} operator \code{(:)} which takes an element and a list and produces a new list with the element prepended to the front.
|
||
|
\begin{haskellcode}
|
||
|
emptyList = []
|
||
|
|
||
|
list2 = 1 : []
|
||
|
|
||
|
-- is this really a list?
|
||
|
list3 = [1, 2] == 1 : 2 : []
|
||
|
\end{haskellcode}
|
||
|
\pause
|
||
|
How about something more interesting:
|
||
|
\begin{haskellcode}
|
||
|
infiniteList = [1..]
|
||
|
\end{haskellcode}
|