允许在不使用DrRacket的情况下重新定义R5RS的初始绑定

时间:2016-08-05 09:55:42

标签: racket

对于R5RS语言,DrRacket可以选择打开或关闭Disallow redefinition of initial bindings

这让我很好奇:是否可以在不使用DrRacket的情况下调整这样的语言设置? (例如,从命令行使用Racket或Emacs时)

如果是这样,以哪种方式?如果没有,或者没有以合理的方式,为什么?

1 个答案:

答案 0 :(得分:4)

参数compile-enforce-module-constants控制是否允许重新定义:

soegaard$ ./racket 
Welcome to Racket v6.6.0.3.
-> (compile-enforce-module-constants #f)
-> (module test r5rs (define + -) (display (+ 43 1)) (newline))
-> (require 'test)
42

在此处查看更多内容:http://docs.racket-lang.org/guide/module-set.html