我正在尝试创建环Z/n (类似于常规算术,但以某个整数为模)。以Z4为例: zero = Z4 0对于戒指,依此类推。我希望能够快速生成这些东西,我认为使用模板haskell可以做到这一点。理想情况下,我会像上面定义的那样使用$(makeZ 4),并让它输出Z4的代码。
不过,我在这方面遇到了很多麻烦。当我执行genData n = [d| data $n = $n Integer]时,我得到“解析数据错误/新类型声明”。如果我不使用变量:[d| d
这段代码可以在g++中正常工作和运行。我不知道为什么。它应该会给出一个错误。using namespace std; int x=9; //note that there is extra backslash in the end of if statement { }
//note that there is extra back