在Racket中为eval指定#lang

时间:2015-10-24 20:51:00

标签: racket

我想在eval中使用特定的#lang来为它提供语义。但是,eval本身似乎没有指定语言的机制,并且传入#lang似乎不起作用。

1 个答案:

答案 0 :(得分:9)

您可以使用make-module-evaluator中的racket/sandbox

> (require racket/sandbox)
> (define evaluator (make-module-evaluator "#lang racket/base"))
> (evaluator '(+ 1 2))
3
> (evaluator "(+ 1 2)")
3