> I think that standardizing how #!-directives can receive parameters is > also of independent interest: > > For example, Scheme may support floating point numbers of different > precisions. One may want to tell the Scheme reader with which > precision floating point constants in the datum representations are > read. For that purpose, something like #!precision=25 looks like the > way to go. Here too we could simply use S-expressions: #!(coding shift_jis) #!(precision 25) If file scope is sufficient it could be in the proposed declare-file: (declare-file (coding shift_jis) (precision 25)) S-exprs are more familiar, more robust and easier to extend than any custom syntax we can hope to come up with. They also mesh well with the surrounding Scheme code which already uses them and are analogous to the existing #;(foo bar) sharpsign syntax. Subroutines from the main Scheme reader can probably also be borrowed to implement it.