GHC.StaticPtr
| Авторские права | (C) 2014 I/O Tweag |
|---|---|
| Лицензия | см. libraries/base/LICENSE |
| Поддержка | cvs-ghc@haskell.org |
| Стабильность | внутренняя |
| Переносимость | непереносимый (расширения GHC) |
| Безопасный Haskell | Нет |
| Язык | Haskell2010 |
Описание
Символьные ссылки на значения.
Ссылки на значения обычно реализуются с помощью адресов памяти, и это практично при передаче значений между различными частями одного процесса.
Однако, когда значения передаются между различными процессами, выполняющимися на, возможно, разных машинах, адреса больше не полезны, так как каждый процесс может использовать разные адреса для хранения данного значения.
Для решения этой проблемы ссылки, предоставляемые этим модулем, предлагают ключ, который может быть использован для поиска значений в каждом процессе. Каждый процесс поддерживает глобальную таблицу ссылок, которую можно искать по заданному ключу. Эта таблица известна как таблица статических указателей. Затем ссылка может быть разыменована для получения значения.
Ссылка на значение типа a.
deRefStaticPtr :: StaticPtr a -> a Source
Разыменование статического указателя.
type StaticKey = Fingerprint Source
Ключ для StaticPtrs, который может быть сериализован и использован с unsafeLookupStaticPtr.
staticKey :: StaticPtr a -> StaticKey Source
Ключ, который может быть использован для поиска заданного StaticPtr.
unsafeLookupStaticPtr :: StaticKey -> IO (Maybe (StaticPtr a)) Source
Поиск StaticPtr по его StaticKey.
Если StaticPtr не найден, возвращается Nothing.
Эта функция небезопасна, потому что поведение программы не определено, если тип возвращаемого StaticPtr не соответствует ожидаемому.
data StaticPtrInfo Source
Различная информация, доступная для отладки.
Конструкторы
| StaticPtrInfo | |
Поля
| |
Примеры использования
staticPtrInfo :: StaticPtr a -> StaticPtrInfo Source
Информация о данном StaticPtr.
staticPtrKeys :: IO [StaticKey] Source
Список всех известных ключей.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/GHC-StaticPtr.html