Spec-Zone.ru › Haskell 8

GHC.StaticPtr

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

Описание

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

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

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

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

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

data StaticPtr a Source

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

Поля

  • spInfoUnitId :: Строка

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

  • spInfoModuleName :: Строка

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

  • spInfoSrcLoc :: (Целое число, Целое число)

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

Примеры
Подробности примеров
Вывод 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

Список всех известных ключей.

class IsStatic p where Source

Класс для вещей, создаваемых из статических указателей.

Методы

fromStaticPtr :: StaticPtr a -> p a Source

Примеры
Подробности примеров
IsStatic StaticPtr

С момента: base-4.9.0.0

Подробности примера

Методы

fromStaticPtr :: StaticPtr a -> StaticPtr 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

Spec-Zone.ru

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