2006-02-20から1日間の記事一覧

Concurrent Clean : 正格性について

一意性と正格性 一意性と正格性は、非常に混乱を招きやすいのですが、2つは全くの別物です。 一意性は、計算の順序を保証しているだけであって、遅延されるかどうかには影響を与えません。標準関数には、正格性注釈をつけているので、そのことに気づきにく…

余談ですよ : システム開発の予算について

正確なパフォーマンスがコードの開発後に決まるのなら、システムのハードウェア構成はコードの開発後にならないと、確定できないのではないかと思った。 ハードウェア構成がコードの開発後になるのなら、コードの開発時に、さまざまなハードウェア構成に対応…

Concurrent Clean & Haskell : インデントによるブロック

Cleanは(そして多分Haskellも)インデントによるブロックを採用しているが、なんでかと思ったら、よく考えたら、文がないから段落もないので、ブロックというものが要らないんじゃないかとか。あ、whereブロックがありますねぇ。

Concurrent Clean : 正格性について(2)

例を挙げて説明してみます。 lazy = x strict :: !a -> a strict a = a strict2 :: !(!a, !b) -> (!a, !b) strict2 (a, b) = (a, b) maketupple :: a b -> (a, b) maketupple a b = (a, b) idtupple :: !(a, b) -> (a, b) idtupple (a, b) = (a, b) 1: idtup…