Spec-Zone.ru › Haskell 7

GHC.StaticPtr

Авторские права (C) 2014 I/O Tweag
Лицензия см. libraries/base/LICENSE
Поддержка cvs-ghc@haskell.org
Стабильность внутренняя
Переносимость непереносимый (расширения GHC)
Безопасный Haskell Нет
Язык Haskell2010

Описание

Символьные ссылки на значения.

Ссылки на значения обычно реализуются с помощью адресов памяти, и это практично при передаче значений между различными частями одного процесса.

Однако, когда значения передаются между различными процессами, выполняющимися на, возможно, разных машинах, адреса больше не полезны, так как каждый процесс может использовать разные адреса для хранения данного значения.

Для решения этой проблемы ссылки, предоставляемые этим модулем, предлагают ключ, который может быть использован для поиска значений в каждом процессе. Каждый процесс поддерживает глобальную таблицу ссылок, которую можно искать по заданному ключу. Эта таблица известна как таблица статических указателей. Затем ссылка может быть разыменована для получения значения.

data StaticPtr a Source

Ссылка на значение типа 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

Поля

spInfoPackageKey :: String

Ключ пакета, в котором определен статический указатель

spInfoModuleName :: String

Имя модуля, в котором определен статический указатель

spInfoName :: String

Внутреннее имя, уникальное для каждого статического указателя, определённого в данном модуле.

spInfoSrcLoc :: (Int, Int)

Местоположение определения статического указателя в виде пары (Line, Column).

Примеры использования

Show 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API