5

私は、Scheme でプログラミングする方法を学びながら、Emacs の下でGeiserと組み合わせてGuileを使用しています。タイプミスをしたり間違ったコードを入力したりするたびに、Guile がデバッガーに落ちてしまうのは、実際には邪魔だと思います。Emacs で Geiser を使用しているときに、Guile を私のタイプミス/エラーに対してより寛容にし、デバッガーをスキップするにはどうすればよいですか?

私が Scheme プログラミングでより高度になるにつれて、どうすればデフォルトの動作を復元できますか、またはデバッガーを常に起動するかオンデマンドでのみ起動するかを切り替えるにはどうすればよいですか?

4

2 に答える 2

3

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

于 2017-01-31T20:37:20.553 に答える
1

私はあまりSchemeを書いていませんが、デバッガーを無視するだけでいいようです。

Lispyを使用して eval を実行しているe場合、REPL ウィンドウは表示されず、エコー領域にメッセージが表示されるだけです。

を設定(setq geiser-impl--implementation 'guile)して を押す elispy-mode、Geiser REPL が自動的に開始され (ライブの REPL がない場合)、式が評価されます。

于 2015-02-15T12:26:22.850 に答える