プログラミング言語SML#解説 3.7.1版
7 MLプログラミング入門

7.18 リストデータ型

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 listint型を要素とするリストを表す型