Fork me on GitHub

data Int 定义中负号的连字符为什么会被报错?

Learn You.. 第 8 章前面的例子, 复制到 ghci 中间就出错了

Prelude> data Int = -2147483648 | -2147483647 | ... | -1 | 0 | 1 | 2 | ... | 2147483647  
<interactive>:8:12: parse error on input `-'

难道这不是上边可运行的代码么, 定义的语法不允许包含 - ?

Submitted by at 6 years ago

所有回复

呃。。那个只是人家说说而已,你可以理解为那么定义,但不是真正那么定义的,Int是build in的类型。

xiaoxiaflash 6 years ago

英文看去很难懂.. 数字是不是不能直接放到类型定义里面的?

jiyinyiyong 6 years ago

到第八章为止都有中文版哦,http://fleurer-lee.com/lyah/chapters.htm

Liutos 6 years ago

希望寄托在了繁体版上

jiyinyiyong 6 years ago

参考了下Haskell report 2010 - 4.2.1 Algebraic Datatype Declarations 里的定义,
看上去数字不能作为Data Constructor.

wuhaisheng 6 years ago

原来真这样.. thx

jiyinyiyong 6 years ago