As far as I am concerned, "#!" means "identifier follows", and what the identifier is tells you what it's for. There is no semantics to "#!" at all. (Fortunately for this theory, /bin/sh is a perfectly good identifier in Scheme.)
> Is everything what you call "reader directive" actually a reader directive?
No, you're right. The title should be something else. Any suggestions?
We could just title it "#! syntax" or "Hash-bang syntax", but it might
be nice to group other prefixes besides "#!" together in the same table.
> For example, "#!eof" seems to be a datum syntax used by some Scheme,
> not a reader directive.
True. #!eof doesn't change the reader's settings in any way. Neither do
#!optional and the like.