寄り道: Gauche インタプリタを少ないタイプ数で exit する

夕方休憩30分を使ってやるよ。早く eval たいのもある。


404 Not Found を見ながらやるよ。


まずはクォート。

gosh> (define exxit '(exit))
exxit

(null-environment 5)は、R5RSで規定されている単なる構文的な束縛を含むnullモジュールを返します。

gosh> (eval exxit (null-environment 5))
*** ERROR: unbound variable: exit
Stack Trace:
_______________________________________

足りない。

(scheme-report-environment 5)は、R5RSで規定されている構文的な束縛と手続きの束縛を含むschemeモジュールを返します。

gosh> (eval exxit (scheme-report-environment 5))
*** ERROR: unbound variable: exit
Stack Trace:
_______________________________________

違う。

(interaction-environment)は、全てのGaucheのビルトインとユーザ定義の全てを含んだuserモジュールを返します。

gosh> (eval exxit (interaction-environment))
$

できた!


(exit) を exit に省略したい作戦大失敗!(scheme から括弧を取るなんてどうかしてると思う)


Gauche ユーザリファレンス: 3.2 インタラクティブな開発

インタプリタを終了するには、EOF文字(Unix端末では通常Control-D)をタイプするか、 (exit)を評価します。

!!!