評価の再実装を伴う4Clojureの問題「UniversalComputationEngine 」を解決しようとしたときに、誤って次のようなものを呼び出すことになりました。
(apply '/ '(16 8))
意図したものではなく:
(apply / '(16 8))
これには、戻るという紛らわしい副作用があり8
、数学を台無しにしたと思いました。
後で、デバッグの後でエラーに気づきました。/
シンボルを呼び出そうとする前にシンボルの評価に失敗していました。そのため、clojure.lang.Symbol
を実装する必要があることに気付きましたclojure.lang.IFn
。しかし、その実装は何をしますか?私ができることはnil
、1つの引数、または指定されている場合は2番目の引数を返すことだけです。