’a list -> ’a option 型を持つ以下の関数を定義せよ.
リストの先頭要素を返す関数 car.
先頭を除いたリストを返す関数 cdr.
リストの最後の要素を返す関数 last.
解答例
リストの先頭要素を返す関数 car fun car (h::_) = SOME h | car _ = NONE
先頭を除いたリストを返す関数 cdr fun cdr (_::t) = SOME t | cdr _ = NONE
リストの最後の要素を返す関数 last fun last nil = NONE | last [h] = SOME h | last (_::t) = last t