3
我正在编写haskell中的一个小lisp解释器。在这个过程中,我定义了这个数据类型,以获得更少的类型数字。为什么Hugs在我的数据类型声明中抱怨`|`?
data Number = _Int Integer
| _Rational Rational
| _Float Double
deriving(Eq,Show)
与拥抱编译此失败,出现以下错误:
ERROR "types.hs":16 - Syntax error in data type declaration (unexpected `|')
线16与在上面的代码中的第一|
线。
什么编译您使用的? GHCi(v 6.10.4)抱怨下划线,但是当我s/_/M /时,它编译得很好。 – perimosocordiae 2010-03-17 23:10:36
我正在使用hugs98 200609-4。这确实是导致问题的下划线。 :) – keiter 2010-03-17 23:25:02
正如一个侧面说明,我会建议几乎在任何情况下GHC超过拥抱。许多较老的文件都说Hugs对初学者更好,因为它拥有REPL,但GHCi实际上比Hugs提供更好的REPL并非如此。 – Chuck 2010-03-17 23:30:54