所以我正在开发一个项目来帮助我让Haskell变得更加舒适,并且可能会做一些很酷的事情。我正在使用二进制.MP3文件,并将它们转换为word8数组,但是在解决按位操作时遇到了问题。
我已经使用Data.Word模块中的函数将所需的操作简化为如下所示的简单常量函数,但是在提取特定的Word8实例和函数时遇到了麻烦:
one :: Word8
one = fromInteger 1
我正在使用this中的函数,但我没有返回Word8类型。
既然我对Haskell相当新,并且来自非常不同的OOP世界,我可能完全错过了简单的答案,或明显的原因,但我觉得我只是错过了一个简单的导入或减速。谁能告诉我我做错了什么,或者至少指出了我正确的方向?
编辑: 我得到错误:
Iom.hs:13:7:
No instance for (Num word8) arising from a use of `fromInteger'
Possible fix:
add (Num word8) to the context of
the type signature for one :: word8
In the expression: fromInteger 1
In an equation for `one': one = fromInteger 1
当我尝试“Num Word8”时:
zero :: Num Word8
zero = fromInteger 0
我收到错误:
Iom.hs:12:8:
Expected a type, but `Num Word8' has kind `GHC.Prim.Constraint'
In the type signature for `one': one :: Num Word8
编辑2:
看起来这是使用“word8”而不是“Word8”作为类型的结果。