gpt4 book ai didi

haskell - 不太严格的类型语言选项

转载 作者:行者123 更新时间:2023-12-02 16:41:15 25 4
gpt4 key购买 nike

我在 Haskell 中有一个函数:

import qualified Codec.Picture as Juicy

--juicyLoad :: FilePath -> IO (Vector Word8)
juicyLoad file = do
image <- Juicy.readPng file

case image of
Left err -> undefined
Right (Juicy.ImageRGB8 (Juicy.Image w h dat)) ->
return dat

GHC 推断类型为 FilePath -> IO (Vector Word8),这就是我想要的。当我在源文件中实际定义它时(juicyLoad::FilePath -> IO (Vector Word8)),出现错误:无法将预期类型“Vector Word8”与实际匹配输入“Vector(PixelBaseComponent PixelRGB8”。

这似乎是 {-# LANGUAGE x #-} 选项的工作,我只是不知道是哪个

最佳答案

Vector 有多个不同版本。我能够通过显式导入 GHC 推断的相同内容来解决此问题。

import qualified Codec.Picture as Juicy
import Data.Vector.Storable
import GHC.Word

并声明类型如下:

juicyLoad :: FilePath -> IO (Vector Word8)

关于haskell - 不太严格的类型语言选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com