小编Mar*_* P.的帖子

Haskell数据"错误 - 控制堆栈溢出"

我是Haskell的新手,我正在编写我的第一个数据结构.

 data Nat = Null | N Nat
Run Code Online (Sandbox Code Playgroud)

例如: 5N (N (N (N (N Null))))

我必须从中创建实例 Show, Eq, Ord, Num, Enum

Eq已经写过并且有效.

instance Eq Nat where
    (==) Null Null = True 
    (==) (N Null) (N Null) = True
    (==) Null (N Null) = False
    (==) Null (N xs) = False
    (==) (N xs) (N xs2) = xs == xs2
Run Code Online (Sandbox Code Playgroud)

但是当我在拥抱中尝试这个时它会给我一个错误("错误 - 控制堆栈溢出").

我不能继续下去.

(N (N Null)) :: Nat   
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

haskell instance

0
推荐指数
1
解决办法
159
查看次数

标签 统计

haskell ×1

instance ×1