【发布时间】:2014-11-28 11:25:55
【问题描述】:
我正在使用--red-only 开关并将详细程度设置为 2,以将一个非常简单的 Red 程序编译为其 Red/System 等效程序。程序是:
Red []
red-load: func [source [file! url! string! binary!]] [
load source
]
它产生一定数量的输出,我将其重定向到一个文件。我的目标是为此添加一个 Red/System 标头并构建它。
在去掉一些注释行之后,下一个障碍是这段代码至少没有扩展一些宏,所以我不得不为runtime/macros.reds 添加一个#include。但是后来我在扩展其中一个(宏 TO_CTX)时遇到了这个错误:
*** Compilation Error: invalid target type casting: red-context!
*** in file: %/home/hostilefork/Projects/red/embedme.reds
*** in function: f_modulo
*** at line: 11
*** near: (as red-context! ((as series! ctx15/value) + 1))
我已经看到在 Red 运行时代码中使用了 red-context! 和其他一些 red-*! 数据类型......当 Red/System 需要谈论它从 Red 获得的值时。但他们没有提到in the Red/System spec。它们可以在普通的红色/系统代码中使用,还是有一些“特殊”的东西只允许它们在内部使用?
【问题讨论】:
标签: red red-system