Re: SRFI 220: Line directives Lassi Kortela 19 Feb 2021 07:26 UTC

>     #! directives are not passed to the Scheme reader in the same way as
>
> So what do you exactly mean by "#! directives"?

Looking at https://registry.scheme.org/#hash-bang-syntax the following
never cause a datum to come out of `(read)`:

#!chezscheme
#!compatible
#!deprecated
#!err5rs
#!fold-case
#!larceny
#!no-fold-case
#!no-overwrite
#!nocache
#!r5rs
#!r6rs
#!r7rs
#!read-macro
#!reader

The following always cause a datum to come out of `(read)`:

#!bwp
#!eof
#!false
#!null
#!true
#!void

The following probably always cause a datum to come out of `(read)` in
the implementations that have them, but the datum is only valid inside a
lambda list:

#!key
#!optional
#!rest

I guess only the first of the above groups is properly called a
"directive", and it's unfortunate that some datums use the same "#!"
syntax as well.