リストは同じ型の複数の値を保持する場合に使われます。[True,False,True]文字列は単に文字のリストにすぎません。"Hello":演算子は要素をリストの先頭に追加します。"CHello"タプルは決まった数の値を保持できます。それぞれの型は異なっていても構いません。[(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e')]この例の最後でzipが使われています。これは2つのリストを1つのタプルのリストにするライブラリ関数です。型は予想どおり以下のようになります。Bool)]リストはHaskellではとてもよく使われます。リストを操作する便利な関数がいくつもあります。[3,4,5]また整列されたペア(2つの要素を持つタプル)に対する便利な関数が2つあります。listsも参照してください。actionの定義について先に触れました。wrong!"では次に、実際にfactorialという関数の関数"定義を書いてみることで、上の例を補ってみましょう。丁寧に書こうと思うので、モジュールヘッダも追加します。Test.hsと入力し再ビルドします。right!階数が得られました。5と括弧なしで関数が呼び出せました。今度はghciを使って型を調べてみましょう。a関数の型は引数の型とともに表され、その後に->が来て結果の型が書かれます。(結果も型クラスNumとなります)階数は場合分けを使うことで簡単にできます。1)便利な構文さらにいくつかのsyntaxが便利です。perWeeklet式は一時的な名前を定義します。(ここでもレイアウトが使われています。citizen"case式は複数の場合分けを行います。"その他すべて"を表します。ライブラリを使うここまでのチュートリアルではPreludeの一部しか使ってきませんでした。PreludeはHaskellのどんなプログラムでも使うことができる関数のセットです。librariesについて明るくなるのがよいです。標準ライブラリに関してはhttp://haskell.org/ghc/docs/latest/html/libraries/にあります。モジュールは以下のものがあります。nimportはData.Mapにあるコードを使うことを宣言していて、それらはMという別名を使うことが定義されています。(ここで行っていることは必要なことです。いくつかの関数はPrelude内の関数と同じ名前を持っているからです。ライブラリではasの部分は必要ありません。librariesのページを見てください。これらは多くの方々がHaskellのために書いたたくさんのライブラリを集めたページです。installを実行するためにrootになる必要があります。HaskellWikiDisclaimers。