所以我試圖構造一個解釋器,可以處理用戶定義的lambda函數,其中可以有可變數量的參數。代碼看起來有點像這樣: ((lambda (x &optional y z) (func_body)) args))
眼下,結果我可以是沒有它被評估的正常功能;例如,如果我定義square X = (* X X)和運行我的解釋,我得到: (* X X)
我需要被評估後的上述功能。我已經嘗試了諸如: (l
下面的功能是給我一個審查表: (define mystery(lambda(m n)
(cond
((= m 0) n)
((= n 0) m)
(#t (+ 2(mystery(- m 1)(- n 1))))
)))
前兩個條件簡單,它只是遞歸otherwise是交代不清的我。在我看來,遞歸將繼續,直到