2015-10-24 15 views
8

Desidero utilizzare un #lang specifico in eval per fornirgli la semantica. Tuttavia, eval non sembra avere un meccanismo per specificare la lingua, e passare in #lang non sembra funzionare.Specificare #lang per eval in Racket

risposta

9

È possibile utilizzare make-module-evaluator da racket/sandbox per quello.

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