2007-06-23から1日間の記事一覧

Concurrent Clean : 一意型

[id:syd_syd:20070623:p1] あの記事は、勉強しながら書いたので、いろいろとまずいところがあって、いつか書き直さなければいけないと思っているのですが・・・(申し訳ない) しかし,(いまの私の理解では)さらにCleanでは意図した順序で副作用を並べるため…

Concurrent Clean : iTaskのスライドで一番びっくりした点

Haskell / Clean code can be combined in next Clean release

Concurrent Clean : Poor man's dynamics

iTaskのスライド中に出てくる'Poor man's dynamics'とは http://web.cecs.pdx.edu/~sheard/course/AdvancedFP/papers/の'A Lightweight Implementation of Generics and Dynamics'のことかな?

Concurrent Clean : トップレベルの関数定義

[id:syd_syd:20070624:p4] トップレベルの'='はマクロじゃなくて関数になります。マクロは常に':=='です。 l = Cons 1 $ Cons 2 $ Cons 3 Nil については、トップレベルで定義したので関数として解釈されるので、lを評価するたびに「新しい」グラフが生成さ…

Concurrent Clean : 一意型の型変換

[id:syd_syd:20070624:p1] 一意型と非一意型の間にはサブタイプ関係があって、例えば、 Start :: (Int, Int) Start = (a, a) where a = unique unique :: *Int unique = 1 というプログラムは、暗黙的に'*Int'から'Int'に型変換されるため、合法です。(関数…