MLプログラミングでよく使用される複合データはリストと高階多相関数 です. リストを用いたプログラムには,MLプログラミングの基本である以下の 要素が含まれています.
再帰的データの生成と処理
パターンマッチングによるデータ構造の分解
多相型高階関数
リストを用いてこれら機能をマスターしていきましょう.
リストは要素の並びです. MLでは“[”と“]”の間に要素の式を並べると,リストが 定義されます.
# [1,2,3];
val it = [1, 2, 3] : int list
この式は,以下の式の略記法です.
# 1 :: 2 :: 3 :: nil;
val it = [1, 2, 3] : int list
この構文とその評価結果を理解しましょう.
e :: Lは要素を表す式eとリストを表す式Lから, リストLの先頭にeを付け加えて得られるリストを生成する式.
nilは空のリストを表す定数.
int listはint型を要素とするリストを表す型