プログラミング言語 Scheme にはリーダの挙動を変更する方法が用意されている。 R7RS には #!fold-case と #!no-fold-case が定義されており、リーダはこの識別子に出逢うと大文字小文字を区別しないモードと区別するモードとが切替わるようになっている。 これらは慣例的にハッシュバンディレクティブなどと呼ばれる。 処理系によってはこのふたつ以外のディレクティブを持っていることもある。 もちろん Gauche にもこの機能があるのだが、規定のディレクティブを持っているだけでなく新しいディレクティブを定義することも可能であることを発見した。 公にドキュメントに記述されていないのでユーザが使うことを想定していないのだとは思うが define-reader-directive によってディレクティブとリード手続きを結び付けられる。 たとえば以下のように定義すれば XML