【发布时间】:2016-01-24 05:19:34
【问题描述】:
我想在 eval 中使用特定的#lang 来为其提供语义。但是,eval 本身似乎没有指定语言的机制,并且传入#lang 似乎不起作用。
【问题讨论】:
标签: racket
我想在 eval 中使用特定的#lang 来为其提供语义。但是,eval 本身似乎没有指定语言的机制,并且传入#lang 似乎不起作用。
【问题讨论】:
标签: racket
为此,您可以使用 racket/sandbox 中的 make-module-evaluator。
> (require racket/sandbox)
> (define evaluator (make-module-evaluator "#lang racket/base"))
> (evaluator '(+ 1 2))
3
> (evaluator "(+ 1 2)")
3
【讨论】: