我正在尝试创建环Z/n (类似于常规算术,但以某个整数为模)。以Z4为例: zero = Z4 0对于戒指,依此类推。我希望能够快速生成这些东西,我认为使用模板haskell可以做到这一点。理想情况下,我会像上面定义的那样使用$(makeZ 4),并让它输出Z4的代码。
不过,我在这方面遇到了很多麻烦。当我执行genData n = [d| data $n = $n Integer]时,我得到“解析数据错误/新类型声明”。如果我不使用变量:[d| d
executable 'test' for test-0.1.0.0...
[1 of 1] Compiling Main ( Main.hs, .stack-work/dist/x86_64-linuxCabal-1.22.2.0 -clear-package-db -global-package-db -package-db=/home/illabout/.stack/snapshots/x86_64-linux/nightly-2