どうでもいい考察というか感想というか偏見

Scheme48
R5RS とか SRFI への準拠度が高い (動作未定義の code を与えると reject するとかいう意味で)。でも program 構文を使わないと script を認識してくれないのは頂けない。Error message もぶっきらぼうでちょっと敷居が高い。
Guile
以外と準拠度が高いし、ちょっと esoteric な code 片を食べさせても「自然な」動作をする (どことなく一貫性のある動きをする)。でも error message を見るとお前それ内部状態の dump ちゃうんかと言いたくなるものしか吐かない。勉強用には使えないし、call/cc は鬼のように重いし、デカい (というか scalability が悪い) から気軽にアプリに組込みにくいし、今一つどこで使えばいいのかわからない処理系。
Gauche
Error message が親切。Perl のようななりふり構わない利便性の追求姿勢が見て取れて、それに見合った手軽さがある。ついでに guile より速い。その代わり garbage in, garbage out な感じで、変な code を書いて食べさせてても教えてくれず、黙々と意に反した動作をしてくれることがある。日々の scripting にはこれ。Debian sid のやつは default で stack check が無効だから、まずい code を与えると止めるのに苦労することがある。でも面倒だから再 compile はしない。
SigScheme
僕らが作ったゼンマイ仕掛けのブリキのおもちゃ。Driver と nipper を持ち出して、破壊しながら部品をとっかえひっかえして幸せになるのが正しい遊び方。(違)

統一感の無さ

流石 Scheme。足並み揃ってねー。

jun@debian /tmp
$ scheme48
Welcome to Scheme 48 1.3 (made by Debian on Mon Aug 22 06:50:36 CEST 2005)
Copyright (c) 1993-2005 by Richard Kelsey and Jonathan Rees.
Please report bugs to scheme-48-bugs@s48.org.
Get more information at http://www.s48.org/.
Type ,? (comma question-mark) for help.
> `#(0 unquote x)

Error: undefined variable
x
(package user)
1>
> `#(0 unquote (- 1))

Error: vm-exception
(cdr -1)
1>
>
Exit Scheme 48 (y/n)? y
jun@debian /tmp
$ gosh
gosh> `#(0 unquote x)
#(0 unquote x)#
gosh> `#(0 unquote (- 1))
#(0 unquote (- 1))#
gosh> jun@debian /tmp
$ guile
guile> `#(0 unquote x)
standard input:1:22: In expression (quasiquote #(0 unquote x)):
standard input:1:22: Unbound variable: x
ABORT: (unbound-variable)

Type "(backtrace)" to get more information or "(debug)" to enter the debugger.
guile> `#(0 unquote (- 1))
standard input:2:26: In procedure vector in expression (quasiquote #(0 unquote #)):
standard input:2:26: Wrong type argument in position 1: (0 . -1)
ABORT: (wrong-type-arg)