在学习如何在 Scheme 中编程时,我在 Emacs 下将Guile与Geiser结合使用。我发现每次我打错字或输入错误的代码时,Guile 都会进入调试器,这实际上是一个障碍。在 Emacs 下通过 Geiser 使用它时,如何让 Guile 更能容忍我的拼写错误并跳过调试器?
随着我在 Scheme 编程方面的进步,我将如何恢复默认行为,或者如何在让调试器始终启动与仅按需启动之间切换?
您可以将on-error
选项设置为report
,它只会报告错误而不会将您放入调试器(这是默认值,debug
);例如
scheme@(guile-user)> ,option on-error 'report
scheme@(guile-user)> (/ 1 0)
ERROR: Throw to key `numerical-overflow' with args `("/" "Numerical overflow" #f #f)'.
scheme@(guile-user)>
见:https ://www.gnu.org/software/guile/manual/html_node/System-Commands.html
Scheme我真的写的不多,但似乎你可以忽略调试器。
如果您使用lispy进行 eval e,您甚至看不到 REPL 窗口,您只会在回显区域中收到带有结果的消息。
如果您设置(setq geiser-impl--implementation 'guile)
并按下
e,lispy-mode
它将自动启动 Geiser REPL(如果没有实时的)并评估表达式。