シグニチャとそのパターンマッチ
「文字列(名前)の集合と非負整数値」の組をシグニチャと呼ぶ。次の形で書く; {"foo", "bar"; 2}, {; 3}, {"baz"; 0}, {;0}。
シグニチャパターンはオプションシグニチャパターンと引数シグニチャパターンの組である。オプションシグニチャパターンは:
- 文字列 または 文字列? の有限集合
{"foo"?, "bar", "baz"?} はオプションシグニチャパターンで、次の要素からなる集合を表す。
- {"foo", "bar", "baz"}
- {"foo", "bar"}
- {"bar", "baz"}
- {"bar"}
引数パターンは:
例:"--??*", "?*", "-?", "---", "*"。1個の引数パターンは、ハイフンだけの文字列の集合を表す。"--??" なら、{"--", "---", "----"} である。無限集合もありえる。ハイフン文字列の長さは非負整数の集合を作る。
シグニチャパターンは、文字列有限集合の有限集合Optと非負整数値(無限かも知れない)集合Arityを定める。与えられたシグニチャの文字列集合の部分がOptに入り、整数値がArityに入れば、そのシグニチャはそのパターンにマッチする。