2006-07-23から1日間の記事一覧
.keepという命令を、_SystemEnumStrictを調査中に発見。 とりあえず、無視。
StdOverloadedListを調査中に、新しいConsを発見。 _Conss _Consts - あ、これは、ただの関数だ。 CleanSystemに_Consstsがあるので、このグループの関数でした。 - 多分、 _Conss 頭部正格リスト _Consts 尾部正格リスト _Conssts 頭部尾部正格リスト です。
repl_r_args_a命令について。引数の意味が良くわからない。 - 分かった。 repl_r_args_a al bl aidx alen第1引数と第2引数は、argumentsの全体のサイズ。 第3引数はargumentのインデックスで、第4引数は指定したargumentのサイズ。 - 以下、参考資料
Intの非ボックス化リストには、ConsiとConsitsの2つのリストがある。Consiは頭部正格リストで、Consitsは頭部尾部正格リストだ。 最初、ConsiとConsitsは尾部の持ち方を変えて、Consitsは尾部が評価済みであることを前提にした実装にしていたのだが、Consit…
StdOverloadedListの関数に対するテストも完了。 - 次は、レコード型の非ボックス化正格リストの実装。 レコード型非ボックス化リストが必要なときは、次のレコードが生成される。 .record r_Cons#Rec lRiaa 2 1 "[#Rec]"対応しているレコードは、 ::Rec = {…
build命令の第3引数は、ほとんどの場合意味のない引数だと思っていたのだけれど・・・ build d_cons_u;4 2 n_cons_u;4このような場合、第3引数の「n_cons_u;4」は無視していたのだけれど、 .desc d_cons_u;4 _ l_cons_u;4 2 0 "_cons_u;4"対応する宣言がこ…
Diag2という関数を使うと、コンパイルエラーになる。なんか、マクロ展開された局所関数の型付けが上手く行かないようだが・・・
ひとまず、実装完了して、動作確認まで。 レコード型リストのデータが次のように連続してできることに着目して、プリティプリンタを実装した。 .record r5 ia 1 1 "!!!" .record r_Cons#!!!! lRiaa 2 1 "[#!!!!]" .record r_Cons#!!! lRiaa 2 1 "[#!!!]" - S…