こんにちは、shelarcy です。

On Tue, 09 Dec 2003 17:17:37 +0900, TOYOFUKU Chikanobu 
<nobu_toyofuku / nifty.com> wrote:
> やっと "How to Declare an Imperative" の全体を読みました。
原文の方を読んだんですか。お疲れ様。

>   たとえ再帰定義を使える関数の方で書こうとしても「>>=」を使った
> ままの形を保とうとすると
>
>   fun echo () = getc >>= (fn c =>
>                if (c = #"\n") then
>                  done ()
>                else
>                  putc c >>
>                  echo ()))
>
> となってしまってダメでうまく書けない。ということと理解しまし
> たが合っているでしょうか。

ええと、ダメでとはどういう意味ででしょうか?
syntax 上の差異はあくまで SML と Haskell の違いによる物で、どうして
も同じような構文にしたいと思ったら、マクロ(SML や Caml にはマクロ
ライブラリがあるようです)によって無理やり同じように書けるようにする
こともできるはずですが……。

私は fix を使わなければループが終わらない限りこの関数を呼び出す関数
の処理がおこなわれなくなるのが最大の問題だという風に納得したのですが、
それでは何か足りませんか?


-- 
shelarcy <shelarcy / capella.freemail.ne.jp>
http://page.freett.com/shelarcy/ 

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/