2016-08-13 6 views
0

я могу использовать большинство sharp-sign read macros в REPL или в файле загруженного с помощью (load):Как загрузить файлы Chicken Scheme, содержащие #><# sharp-sign read синтаксис?

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

Но я не могу использовать foreign declare синтаксис #> <#:

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

Конечно, нет, наверное, нет причин использовать его в repl, но я пытаюсь написать программу, которую (load) с другими источниками во время выполнения и инспектирует их, и она падает, когда она попадает в синтаксис:

(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) файл, содержащий #> sharp-syntax?

ответ

0

Этот синтаксис поддерживается только в компиляторе; нет смысла использовать его в оцененном коде. Если вас интересует только использование read, вы можете уйти с определением собственного переопределения с помощью set-sharp-read-syntax!.