В Haskell, есть ли способ проверить, идентичны ли два IORef? Я ищу что-то вроде этого:
IORef a -> IORef a -> IO Bool
Это было бы полезно, если вы, например, хотите визуализировать график, сделанный из IORef. Я не думаю, что это нарушит ссылочную прозрачность, потому что IORefs имеют значимую идентичность (и в любом случае результат может быть в IO). И я предполагаю, что было бы несложно реализовать это эффективно, как сравнение указателей.
Это где-то есть? А если нет, то почему?
(Edit: я только что нашел System.Mem.StableName из другой вопрос SO , который выглядит полезным.)