据说代码是 Rebol 和 Red 中的数据(反之亦然,即同音符号)。此外,据说无法区分两者。我的理解是这里有两种情况:
- 从代码和数据的混合中 确定代码
- 从代码和数据的混合中 确定数据
代码和数据的混合是我的名字,外人通常称之为 Rebol 代码,而有经验的 Rebol 程序员则说是数据(没有代码,只有数据)
动机
代码与数据的区别使编程语言中的某些功能更容易。例如,提到了反汇编(sbcl 具有该disassemble
功能)。
问题
这些有问题的案例有哪些例子?
语境:
来自 2017 年 3 月 15 日下午 3:32 的聊天:(强调我的)
Didec:你忘记了 Redbol 中没有代码,只有数据。
Maximvl:嗯,CL 和 SBCL 都是一样的
在 Lisp 语言中不一样,“代码”和“数据”[在 Lisp 中] 之间存在区别,因为代码必须以call开头。Redbol 对代码没有这样的限制,这使得它非常不同。
还:
此外,上下文和动态绑定使其更加灵活,但同时,像在您的 CL 示例中那样直接转换为低级汇编代码是不可能的。
旁白:这是否意味着 Rebol 比 Lisp 更具有谐音性?