重新定义Racket中的语法以接受四元数

时间:2014-02-24 19:18:24

标签: syntax racket quaternions

有没有办法重新定义Racket顶级语法以接受四元数,以便将其评估为类似于复数的数据? 我试图让1 + i + j + k被REPL接受。 任何代码示例或相关文档都将非常有用。 -编辑 我有一个工作的Quaternion模块,一个工作但是函数调用的解析器。我希望能够输入9 + i-3j + k,它会像球拍中的其他数字类型一样自动进行评估。

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做,虽然这可能是一项很好的工作。特别是,您需要定义自己的“读者”。

之前,您可以这样做:您是否已在现有系统中实现了四元数?在没有语法扩展的情况下使用四元数后,添加新的阅读器应该是最后一步。