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

Concurrent Clean : 便利関数 (3)

while系を中断・再開が可能なように、返値を一つ追加しました。 foldUwhile :: (b a -> b) !b ![(.u -> v:(Bool, a, .u))] !.u -> (!b, ![(.u -> w:(Bool, a, .u))], !.u) ,[v <= w] foldUwhile _ b [] u = (b, [], u) foldUwhile f b [x:xs] u # (c, a, u) …

Concurrent Clean : 副作用と一意型 (3)

[id:lethevert:20060203:p1]では、モナドのアイデアを取り入れる方向で考えていましたが、最近では、リストと高階関数を利用する方向でパターン化することが、より一意型を生かした方法なのではないかと考えるようになっています。ここ数回の便利関数の作成…