プログラミング言語 Standard ML 入門 (問題の解答例)
9 例外処理

9.1 例外の定義と生成

問 9.1

関数 f の型 ’a -> ’b は,任意の値eに対して,関数 適用 f eの結果が任意の型を持つことを意味する. 値は何らかの型を持っているはずであるから,値を返す関数はこのような 型を取り得ない. この f の型は,f が値を返さないという特殊な性質を反映して いる. この点を参考に,型 ’a -> ’b を持つ関数を,例外を使わず に定義せよ.

解答例  典型的な例は、以下の無限ループ関数である。

   fun f x = f x;

それ意外にも、組込み型を使えば、例えば、

   fun f x = hd nil

など、種々可能である。