2006-04-01から1ヶ月間の記事一覧

Concurrent Clean : 副作用とログ

純粋関数型で、最初に途方にくれるのは、ログの埋め込みだ。実際、最近まで途方にくれていた。 プログラムの深いところで(主にデバッグ目的だが)ログを取りたいと思ったとき、そのためだけに*Worldや*Fileを引数渡しで届けるようにプログラムを変更するこ…

自分で書くと他人の書いたものが理解できる

Cleanで関数プログラミングのことだが、Clean入門を書いたおかげで、細かいところまでよく意味がわかるようになった。 意味がわかるようになると、わざわざ似たようなもの(Clean入門)をもう一つ作る必要なんてないじゃん、という気にもなるが、なにより自…

Concurrent Clean : 定グラフ

これのコンパイルが通ってしまう。 Start :: (*{#Int}, *{#Int}, *{#Int}) Start = (a,f 1 a,f 2 a) where f :: !Int *{#Int} -> *{#Int} f i t #! t0 = t.[0] = {t & [0] = t0 + i} a :: *{#Int} a =: {i \\ i <- [0..9]}しかし、これだと通らない。 Start …

Concurrent Clean : 末尾再帰の最適化

[id:lethevert:20060109:p1]の時に考えていた、「何故Haskellにはfor文がないのか?」という話。 そのときに、私は、末尾再帰を最適化するからだよ、という結論を出していたのだけれど、今から考えるとそれはちょっと違うかも、と思った。といっても、私はHa…

オブジェクト指向

[id:lethevert:20060329:p1]の件でちょっと思ったのですが、オブジェクト指向の話をするときに、JavaやC++のことしか頭にないのも問題かもしれませんが、JavaやC++の存在を重視しないのも同じように問題ではないかと思います。現実のエンジニアリングの世界…

コメントが書かれた時間を見るには

「コメントを書く」をクリックしてみるとよい。

成分解析3

Clean入門の成分解析結果 : Clean入門の79%は勇気で出来ています。 Clean入門の12%は汗と涙(化合物)で出来ています。 Clean入門の5%は玉露で出来ています。 Clean入門の3%は気合で出来ています。 Clean入門の1%は魔法で出来ています。 お、これはなかなか。…

成分解析2

lethevertの成分解析結果 : lethevertの57%は元気玉で出来ています。 lethevertの34%は見栄で出来ています。 lethevertの3%は下心で出来ています。 lethevertの3%は海水で出来ています。 lethevertの2%は優雅さで出来ています。 lethevertの1%は毒物で出来て…

成分解析

Concurrent Cleanの成分解析結果 : Concurrent Cleanの68%は嘘で出来ています。 Concurrent Cleanの16%は言葉で出来ています。 Concurrent Cleanの15%は呪詛で出来ています。 Concurrent Cleanの1%は愛で出来ています。 99%が嘘と呪詛の言葉・・・。そし…

オブジェクト指向

むしろ、オブジェクト指向なんて止めちゃえば、と思わないこともない。 要素分解して、別々の概念に分けちゃえばいいのに。

Concurrent Clean : Clean入門(17) : マクロ

http://www.geocities.jp/lethevert/softwares/clean/gettingStarted17.html 評価戦略から始まった正格性に関する考察は、このマクロの回でひとまず終了です。非正格な言語でありながら、わざわざマクロを持っているのには、そういう理由があったんですね、…