リスト

Haskellのリストは一方向リンクリストで、リストをたどる順番は前から後ろ。

無限リストが簡単に作れます。

main = do print $ take 10 [1..]
          print $ take 10 [1, 3..]
[1,2,3,4,5,6,7,8,9,10]
[1,3,5,7,9,11,13,15,17,19]

null関数はisNullという名前の方が分かりやすかったのに。

(++)でリストの連結ができます。id:MAS3:20070822#p1でリンクの連結に失敗していましたけど、ここでやり方が明らかになりました。

リスト内表記を使うと、リストを簡単に作れます。

main = print [(x, y) | x <- [True, False], y <- [True, False]]
[(True,True),(True,False),(False,True),(False,False)]

これは便利、かも。