gpt4 book ai didi

frege - IMMutable 与可变 IO 文件

转载 作者:行者123 更新时间:2023-12-02 14:11:36 25 4
gpt4 key购买 nike

我正在尝试加载文件。

我有:

wf :: STMutable a File
wf = File.new "worlds/seed_77.world"

data PickleSerialization = pure native com.github.lands.PickleSerialization where
native loadWorld com.github.lands.PickleSerialization.loadWorld :: MutableIO File -> IO World throws IOException, IncorrectFileException

如果我尝试这样做:

PickleSerialization.loadWorld wf

我收到此错误,这对我来说非常令人困惑:

[ERROR: 4]: type error in  expression wf
type is IOMutable File
used as MutableIO File

最佳答案

wf 返回生成文件的操作。 loadWorld 接受一个文件,而不是一个操作。我认为这应该有效:wf >>= loadWorld

MutableIO File 表示可变文件,而 IOMutable 是返回可变文件的操作。 IOMutable 定义为(取自源代码):

--- 这是 @ST RealWorld (Mutable RealWorld d)@ 的缩写
类型 IOMutable d = IO (MutableIO d)

类似地,STMutable 定义为,

--- 返回 _d_ 类型可变值的“ST”操作类型
--- 这是@ST s (Mutable s d)@ 的缩写
类型 STMutable s d = ST s (Mutable s d)

关于frege - IMMutable 与可变 IO 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025790/

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