プログラミング言語 Standard ML 入門 (問題の解答例)
2 関数を用いたプログラミング

2.4 局所変数の使用

問 2.9

2.7で作成した fastFib の定義を,GfastFib の局所関数となるように書き直せ.

解答例 

   fun fastFib n =
     let
       fun G(n,fk,fk1) = if n = 0 then fk
                         else if n = 1 then fk1
                         else G(n-1,fk1,fk+fk1);
     in
        G(n,0,1)
      end