Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell,没有附带的装订?_Haskell - Fatal编程技术网

Haskell,没有附带的装订?

Haskell,没有附带的装订?,haskell,Haskell,这是我的计划(我意识到这不是一个完全有用的计划): 我不断收到错误信息: Haskellfile.lhs:3:3: “length”的类型签名缺少附带的绑定 (不能为导入的值提供类型签名) 有人能帮忙吗 data Temp a = Something1 | Something2 deriving (Show,Eq,Ord) length :: Temp a -> Integer length Something1 = 0 length Something2 = 1 最好将长度更改为其他

这是我的计划(我意识到这不是一个完全有用的计划):

我不断收到错误信息:

Haskellfile.lhs:3:3: “length”的类型签名缺少附带的绑定 (不能为导入的值提供类型签名)

有人能帮忙吗

data Temp a = Something1 | Something2 deriving (Show,Eq,Ord)

length :: Temp a -> Integer
length Something1 = 0
length Something2 = 1
最好将
长度
更改为其他内容,以避免与前奏曲的长度冲突。如果要将长度用作“默认值”,请添加

在开头,请使用
Prelude.length
参考Prelude的版本。不推荐

顺便说一句,如果你的
Temp
不依赖于
a
,你可以考虑

data Temp = Something1 | Something2 deriving (Show,Eq,Ord)

@用户997112没问题。任何人都会这样。继续学习!如果导出
长度
函数,则在大多数情况下,第二个版本更可取;然后用户就可以导入合格的。
import Prelude hiding (length)
import qualified Prelude
data Temp = Something1 | Something2 deriving (Show,Eq,Ord)