2007-04-26から1日間の記事一覧

Concurrent Clean : Re: ハンドルから実体を取り出す

[id:lethevert:20070425:p3]だけれど間違ってる。 リポジトリを使うという方法は関数的でないところが問題ではなくて(一意型を使えば、関数的に扱えるから)、型付けの問題と安全性の問題が引っかかっているのと、リポジトリサービスそのものをCleanでどう…

乱数

[id:rsky:20070424:1177407957] メルセンヌ・ツイスタって、暗号には不向きなんじゃなかったっけ?

SFMT

http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html メルセンヌ・ツイスタの改良版? 今度Cleanに移植しよう。

Concurrent Clean : ABC machine : 代数データ型と配列

代数データ型と配列は、実装上の内部構造が大分違うらしい。 代数データ型として宣言したエリアに配列を割り当てようとすると、Segmentation faultになる。

Concurrent Clean : 参照型

というわけで、参照型を作ってみた。Cleanでは配列を破壊的に更新できるという特徴を生かして、マジックプログラミングしました。 ::*Ref a reference :: !.a -> *(Ref .a) copy :: !*(Ref .a) -> (!*(Ref .a), !*(Ref .a)) apply :: !(.a -> .a) !*(Ref .a)…

Concurrent Clean : コンパイラがこける

file :: !Int -> *File file 1 = code { push_b 0 } 上の関数定義を作ると、次のエラーになってコンパイラがこける Run-time error! Program evaluated undefined value?!clm: reading compiler result failed: No such file or directoryまた、次のようなの…