对于R5RS语言,DrRacket可以选择打开或关闭Disallow redefinition of initial bindings
。
这让我很好奇:是否可以在不使用DrRacket的情况下调整这样的语言设置? (例如,从命令行使用Racket或Emacs时)
如果是这样,以哪种方式?如果没有,或者没有以合理的方式,为什么?
答案 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