slibcat
SLIBでは、処理系がサポートしていない機能かつSLIBで提供している機能のリストを初期化時に生成する。これがslibcatファイルなのだが、guileのはこのようになっている。SigSchemeが生成していたのはこんな感じ。
1 |;"slibcat" SLIB catalog for SigScheme0.1.0. -*-scheme-*- 2 |; 3 |; DO NOT EDIT THIS FILE -- it is automagically generated 4 | 5 |( 6 | (schelog . /home/kzk/tarball/slib/schelog/schelog) 7 | (portable-scheme-debugger . /home/kzk/tarball/slib/psd/psd-slib) 8 | (jfilter . /home/kzk/tarball/slib/jfilter/jfilter) 以下略
\"が無い...\"が無いよ...これで悩みに悩む。もっと論理的に行こうよ<俺。
こんな感じで、ささいな仕様との違いで動作しなくなる。処理系なんてそんなもんだ。完璧かそうでないか。そうでなかったら存在意義無し。厳しい世界ですね。まぁ、くじけませんよ。そういう意味では厳密に定義された言語の"枯れた"処理系というのは非常に重要だなと思った。
追記 : r1080にて実装完了