Jun Inoue
jun.l****@gmail*****
2005年 8月 8日 (月) 02:47:53 JST
あれ? anthy-dev に CC したはずなのに…そんなわけで再送。二つ届いたらごめ んなさい。 On Mon, 8 Aug 2005 00:59:29 +0900 Kazuki Ohta <mover****@hct*****> wrote: > 代替案としてはARGNUM_Rに全て統一し、ARGNUM_R型の関数に以下のように > tail recかどうか判定するflagを返させるように変更しようと思っています。こうすると > and, orの様にtail recの場合とそうでない場合が混在する場合にも対応できるの > で、全体としてすっきり書けそうです。どう思われますでしょうか? > > ScmObj ScmExp_if(ScmObj exp, ScmObj *envp, int *is_tailrec); はい、それで十分だと思います。そうしたくなかったのは単に if やら let や ら全部変えるのが面倒だったからなわけで…w でも今考えると、こうして新たな引数を追加して NoEval をデフォルトにすれ ば if/let/etc ではプロトタイプいじるだけで済むんでしたね。SIOD の引数使 いまわしスタイルにとらわれてました。GCC には引数使えと警告されそうです が。 まぁ細かく詰めるのはお任せします。 > > それともう一つ、ARGNUM_2N って何のためにあるんでしょう。見たところ四則演 > > 算だけに使ってるようですが、代わりに ARGNUM_NotEval で登録して 訂正。普通にわかると思いますが ×ARGNUM_NotEval → ○ARGNUM_L の間違いです。 > # 明日から4日程旅行に行くのでまた反応が遅れるかと思いますが、御了承下さい。 あい。いってらっしゃい。良い旅を。 -- Jun Inoue jun0****@users*****