リテラルをSchemeの式として評価しようとしています(現在Guileを使用)。例:
(define x '(+ 6 6))
(define y (evaluate-literal x)) ; Expected result: y = 12
(ここに、evaluate-literal
私が探しているもののプレースホルダーがあります。)これを可能にするlisp関数/イディオムはありますか?これを行う必要がある理由は、式が定義時に無効である可能性があるが、後で評価されるときに有効な式になるためです。
現在、私の回避策はを使用することですが、あまりエレガントではありませんdelay
。force
(define x (delay (+ 6 6)))
(define y (force x))