2006-04-11から1日間の記事一覧
はてなのCSSの構造がいきなり変わって、記事が突然読めなくなってあせった。
無名関数を使ったときに、レイアウトを深くする必要がないことに気づいた。 ということで、途中で変数束縛を入れたくなったら、こんな風に書けばよいことで結論。 Start w = w --> stdio --> \(f,w) = f --> fwrites "hello world\n" --> flip fclose w --> …
id:sshiさんの指摘が気になって、あれこれ試してみたら、全然共有できるんですけど。 たとえば、こんな感じ。 Start w = w --> stdio --> \(f,w) = f --> fwrites "input >" --> freadline --> \(line, f) = f --> fwrites $ reverseStr line --> if (line =…
にもtrace関数はあるよ。
次のプログラムは、コンパイルが通ってしまいました。 Start w # (_,f,w) = fopen "num.txt" FReadText w (s1,_) = sfreads f 3 (s2,_) = sfreads f 5 (c,w) = stdio w c = c <<< s1 <<< " and " <<< s2 <<< "\n" (_,w) = fclose c w = wでも、これは通らな…
http://www.geocities.jp/lethevert/softwares/clean/gettingStarted01.html 先の修正を含めて、いくつか校正をいれて、更新しました。
Start :: [Int] Start = takeWhile ((>) 1000) [x^3 \\ x <- [1..]]しかし、以下のように書かないよう気を付けて欲しい。 Start :: [Int] Start = [x^3 \\ x <- [1..] | x^3 < 1000]これは以下のものと同等である。 Start :: [Int] Start = filter ((>) 1000…
流れの中に、どうやって大域脱出を埋め込むかというのが問題。 これを上手く組み込んだ解の一つがモナドなのだが・・・