在Haskell中将Int转换为Word 8

时间:2016-06-10 02:28:27

标签: haskell

所以我正在开发一个项目来帮助我让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”作为类型的结果。

0 个答案:

没有答案