如何加载包含 #><# sharp-sign 读取语法的 Chicken Scheme 文件?

How to load Chicken Scheme files that contain #><# sharp-sign read syntax?

我可以在 repl 或使用 (load):

加载的文件中使用大多数 sharp-sign read macros
#;1> #${ abcdef }
#${abcdef}

但我不能使用 foreign declare 语法 #> <#:

#;1> #>#include "md5-base.c"<#
Error: invalid sharp-sign read syntax: #\>

当然,可能没有理由在 repl 中使用它,但我正在尝试编写一个程序,在 运行 时 (load)s 其他来源并反省它们,它是碰到语法就摔倒了:

(load "/tmp/temp29fe.31217/md5/md5.scm")
; loading /tmp/temp29fe.31217/md5/md5.scm ...

Error: (line 11) invalid sharp-sign read syntax: #\>

        Call history:

        <syntax>          (load "/tmp/temp29fe.31217/md5/md5.scm")
        <eval>    (load "/tmp/temp29fe.31217/md5/md5.scm")      <--

如何 (load) 包含 #> 清晰语法的文件?

该语法仅在编译器中受支持;在评估代码中使用它是没有意义的。如果您只对使用 read 感兴趣,您可以使用 set-sharp-read-syntax!.

定义自己的覆盖