如何加载包含#>< #sharp-sign read syntax?的Chicken Scheme文件?

时间:2016-08-13 19:24:41

标签: scheme chicken-scheme

我可以在repl或使用(load)加载的文件中使用大多数sharp-sign read macros

#;1> #${ abcdef }
#${abcdef}

但我无法使用foreign declare语法#> <#

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

当然,可能没有理由在repl上使用它,但是我试图在运行时编写(load)其他来源的程序并对它们进行内省,并且& #39;当它遇到语法时摔倒:

(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)包含#>尖锐语法的文件?

1 个答案:

答案 0 :(得分:0)

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