Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Syntax 重新定义Racket中的语法以接受四元数_Syntax_Racket_Quaternions - Fatal编程技术网

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

Syntax 重新定义Racket中的语法以接受四元数,syntax,racket,quaternions,Syntax,Racket,Quaternions,有没有办法重新定义Racket顶层的语法以接受四元数,从而将其作为类似于复数的数据进行评估? 我试图让1+I+j+k被REPL接受。 任何代码示例或相关文档都将非常有用。 -编辑 我确实有一个可以工作的四元数模块,和一个可以工作但是函数调用的解析器。我希望能够输入9+I-3j+k,并且它会像球拍中的其他数字类型一样自动进行评估。是的,您可以这样做,尽管这可能需要大量的工作。特别是,您需要定义自己的“读者” 在你这么做之前:你已经在现有的系统中实现了四元数了吗?添加新的读取器应该是在四元数没有语法

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

是的,您可以这样做,尽管这可能需要大量的工作。特别是,您需要定义自己的“读者”


在你这么做之前:你已经在现有的系统中实现了四元数了吗?添加新的读取器应该是在四元数没有语法扩展的情况下工作之后的最后一步。

我不精通那里的数学,但这似乎太宽泛了。你需要认真地试一试。。然后返回并显示错误消息/等