Chaton Gaucheで教わった、実行しているScheme処理系によって分岐をする方法です。
srfi-0で定められているcond-expandを使います。使い方の例ですが、hello.scmにこのように記述します。
(cond-expand (gauche (display 'Hello-Gauche)) (guile (display 'Hello-Guile)) (chicken (display 'Hello-Chicken)))
Gaucheでこのスクリプトを実行するとHello-Gaucheが、Guileで実行するとHello-Guileが、Chicken Schemeで実行するとHello-Chickenが表示されます。
YUKI.N> gosh hello.scm Hello-Gauche Natsutani@Natsutani-PC ~/tmp/scheme YUKI.N> guile hello.scm Hello-Guile Natsutani@Natsutani-PC ~/tmp/scheme YUKI.N> csi hello.scm -q -b Hello-Chicken Natsutani@Natsutani-PC ~/tmp/scheme
ただ全てのScheme処理系で使えるわけではありません。そもそもsrfiの呼び出し方が処理系依存なので、処理系が起動した時点でsrfi-0をサポートしている必要があります。