[Anthy-dev 2205] r5rs: and, or, read フィックス, その他質問

Back to archive index

Jun Inoue jun.l****@gmail*****
2005年 8月 7日 (日) 20:53:43 JST


* sigscheme/eval.c
  - Make "and" and "or" properly tail-recursive.
* sigscheme/sigschemetype.h
  - Add new function type.
* sigscheme/read.c
  - Better treatment of "." (the dot) not followed by whitespace.

and, or のために新しい ARGNUM_ enum を追加しました。Properly tail-
recursive な form 全部(if, let, etc...)をこの型であらわすこともできます
が、しんどいのでやめておきました。データ型を圧縮するときまで保留というこ
とで。

# 前回の投稿のときには組込み系 (「組み込み系」が出ない…) を視野に入れて
# ることを知りませんでした。すみません。前の投稿は無視してくださって結構です

それから、(list a .b) のような入力の扱いはどうしましょう。(ソース参照)

それともう一つ、ARGNUM_2N って何のためにあるんでしょう。見たところ四則演
算だけに使ってるようですが、代わりに ARGNUM_NotEval で登録して

ScmOp_minus (ScmObj args)
{
    int result = 0;
    while (!SCM_NULLP(args)) result -= SCM_INT_VALUE(SCM_CAR(args));
}

みたいにした方がいいのでは? (中間生成物もでませんし)。対にして評価、とか
いうのは各ルーチンの責任であって eval で面倒見るものでもないような気が。

-- 
Jun Inoue
jun0****@users*****
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: sscm-misc2.diff
下載 


Anthy-dev メーリングリストの案内
Back to archive index