Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 测试IORef身份?_Haskell - Fatal编程技术网

Haskell 测试IORef身份?

Haskell 测试IORef身份?,haskell,Haskell,在Haskell中,有没有办法测试两个IOREF是否相同?我在找这样的东西: IORef a -> IORef a -> IO Bool 例如,如果希望可视化由IOREF构成的图形,这将非常有用。我认为这不会破坏引用的透明性,因为IOREF有一个有意义的标识(结果可能是IO)。作为指针比较,我认为有效地实现这一点并不困难 这有什么地方吗?如果不是,为什么不呢 (编辑:我刚从中找到,这看起来很有用。)不要想太多。你有,所以你可以只使用==,结果甚至不在IO中注意这是IORefs的标识

在Haskell中,有没有办法测试两个IOREF是否相同?我在找这样的东西:

IORef a -> IORef a -> IO Bool
例如,如果希望可视化由IOREF构成的图形,这将非常有用。我认为这不会破坏引用的透明性,因为IOREF有一个有意义的标识(结果可能是IO)。作为指针比较,我认为有效地实现这一点并不困难

这有什么地方吗?如果不是,为什么不呢


(编辑:我刚从中找到,这看起来很有用。)

不要想太多。你有,所以你可以只使用
==
,结果甚至不在
IO

中注意这是
IORef
s的标识,但是你当然可以有多个不同的
IORef
s指向相同的实际值,也就是说,Haskell引用的正常的不可见共享感谢,不知道我是怎么错过的。:)