.gauchercでgoshのプロンプトをカスタマイズする

srfi-1はtakeの関係上いつも使いたいのでいれておく。
あと、irbの:SIMPLEタイプにプロンプトを変える。

(use srfi-1)
(read-eval-print-loop #f #f (lambda (result) (print "=> " result "\n")) (lambda () (display ">> ")(flush)))
(display "\nbye...\n")
(exit)

で実行結果は以下のとおり。

$ gosh
>> (display "hello,world\n")
hello,world
=> #<undef>
>> (take '(1 2 3 4 5) 2)
=> (1 2)
>> 
bye...
$ 

追記 2007/11/22

多値に対応していないので書き直し。

(read-eval-print-loop #f #f (lambda results (map (cut print "=>" <>) results)) (lambda () (display "\n>>") (flush)))
(display "\nbye...\n")
(exit)