【发布时间】:2012-04-24 13:18:25
【问题描述】:
我注意到Data.UnionFind 使用 IO monad 通过 IORefs 提供指针。我想每个人在以纯代码在本地使用它时都会愉快地调用unsafePerformIO,因为数据结构很好理解,但是..
对于此类数据结构,是否有规范的清洁方法?也许是一个围绕 IO 的包装器,通过禁止大多数 IO 操作,使不可避免的unsafePerformIO“看起来”不那么不安全?
【问题讨论】:
-
我相信这个包打算在 IO monad 中使用。大多数 Haskeller 尽可能远离
unsafePerformIO。
标签: haskell data-structures monads union-find ioref