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