CommonLisp Scheme Part10at TECH
CommonLisp Scheme Part10 - 暇つぶし2ch232:デフォルトの名無しさん
04/02/28 17:07
>>225
末尾呼び出しを思いっきり使えるかどうかって、
コーティングスタイルがまるで変わってくると思うんですが、

>URLリンク(www.swiss.ai.mit.edu)
(define (cpstak x y z)
 (define (tak x y z k)
  (if (not (< y x))
    (k z)
    (tak (- x 1)
       y
       z
       (lambda (v1)
        (tak (- y 1)
          z
          x
          (lambda (v2)
           (tak (- z 1)
              x
              y
              (lambda (v3)
               (tak v1 v2 v3 k)))))))))
 (tak x y z (lambda (a) a)))
;;; call: (cpstak 18 12 6)

たとえばこういう内包挟んだ末尾再帰もCommonLispコンパイラが
ちゃんと末尾として認識するのかなと。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch