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

Concurrent Clean : CleanJ : buildとbuildhとbuild_r

いまさらbuildとbuildhの違いが分かった。 buildもbuildhもスタック上のデータをargumentsとして新しいnodeを作成する命令なのだが、buildはスタック上のデータをそのままにして新しいnodeを生成するのに対し、buildhはスタック上のデータをpopして新しいnod…

修正履歴

修正したら、ソースコードにコメントで修正履歴を残すようにしてくれ、みたいなことを品質管理をしている人から言われたのだけれど、絶句してしまった。 そういえば、他の人のソースを読むと、人によって、日付と修正内容(一行くらい)がやたらと書いてあっ…

Concurrent Clean : CleanJ : レコード型非ボックス化正格配列

実装完了。テストは、test05.RecordArray。 Subversionにコミットした。 - 次は、GenericをやるかStrictListをやるかだけど、どうするかな? Genericは使い方そのものをまだ良く分かっていないので・・・StrictListからにしようかな。

Concurrent Clean : CleanJ : buildF

_SystemStrictLists.abcを眺めていたら、buildF_bという命令が出現。 なんじゃこりゃ。 こういう文脈。 repl_r_args 1 2 push_a 0 buildF_b 0 buildh _Tuple 2対応する関数は _decons_uts :: !u:[#.e!] -> (!.e,!u:[#.e!]); - これっぽい instance UTSList F…

Concurrent Clean : CleanJ : 正格リスト

「_Nil」は全て共通 各種Cons _Consi _Consr _Consc _Consb _Consf _Consa _Consits _Consrts _Conscts _Consbts _Consfts _Consstsえっと、これ1つ1つ書くのか? めんどいな・・・ - _Consaは配列のリストみたい。 実装上、どのような違いをつけるべきか…

Concurrent Clean : CleanJ : 正格リストの実装ができてきた & Real型の取り扱い注意

とりあえず、テストプログラムが動くようになってきた。 - Real型は、2ワードなので、build_rなどでずれるので気をつけましょう。 build_r _Consr 1 2 0 0で、 public Object build(CleanVM vm, int a, int b, int as, int bs) throws CleanException { if …

Concurrent Clean : CleanJ : build_rの引数

build_rの引数の意味を間違えていた。 そのせいで、CleanDescriptorのbuild(CleanVM, int, int, int, int)の実装もおかしかった。 build_r d a b x y oのように考えていたが、 build_r d al bl o as bsの間違い。