Haskell,错误"绑定位置的合格名称"

use*_*475 2 binding haskell

import qualified Data.Sequence as Seq

data Heap a = EmptyHype | Seq.Seq (Seq.Seq ) Int  deriving (Show, Read, Eq)
Run Code Online (Sandbox Code Playgroud)

我得到了Qualified name in binding position: Seq.Seq关于这个问题的错误,并且我不知道我不能使用Seq.Seq但只能使用Seq(Seq a),但是我需要将其限定为Seq,因为我无法使用某些函数.

当然我可能错了,这就是我在这里问的原因.

cro*_*eea 5

您需要数据第二部分的构造函数名称.以下编译:

data Heap a = EmptyHype 
            | Nonempty (Seq.Seq (Seq.Seq a)) Int
  deriving (Show, Read, Eq)
Run Code Online (Sandbox Code Playgroud)

你还需要完全应用(第二个)Seq.Seq,这就是为什么我将parens分组的原因.