Spec-Zone.ru › Haskell 8

GHC.IORef

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

Описание

Тип IORef

newtype IORef a Исходный код

Переменная со значением в IO монаде

Конструкторы

IORef (STRef RealWorld a)
Примеры использования
Подробности примеров использования
Eq (IORef a)

Равенство указателей.

С: base-4.0.0.0

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

Определено в GHC.IORef

Методы

(==) :: IORef a -> IORef a -> Bool Исходный код

(/=) :: IORef a -> IORef a -> Bool Исходный код

newIORef :: a -> IO (IORef a) Исходный код

Создать новую IORef

readIORef :: IORef a -> IO a Исходный код

Прочитать значение IORef

writeIORef :: IORef a -> a -> IO () Исходный код

Записать новое значение в IORef

atomicModifyIORef2Lazy :: IORef a -> (a -> (a, b)) -> IO (a, (a, b)) Исходный код

atomicModifyIORef2 :: IORef a -> (a -> (a, b)) -> IO (a, (a, b)) Исходный код

atomicModifyIORefLazy_ :: IORef a -> (a -> a) -> IO (a, a) Исходный код

Атомарное применение функции к содержимому IORef и возврат старого и нового значений. Результат функции не принудительно вычисляется. Так как это может привести к утечке памяти, обычно лучше использовать atomicModifyIORef'_.

atomicModifyIORef'_ :: IORef a -> (a -> a) -> IO (a, a) Исходный код

Атомарное применение функции к содержимому IORef и возврат старого и нового значений. Результат функции принудительно вычисляется.

atomicModifyIORefP :: IORef a -> (a -> (a, b)) -> IO b Исходный код

Вариант atomicModifyIORef , где результат функции принудительно вычисляется.

atomicSwapIORef :: IORef a -> a -> IO a Исходный код

Атомарная замена содержимого IORef, возвращая старое содержимое.

atomicModifyIORef' :: IORef a -> (a -> (a, b)) -> IO b Исходный код

Строгая версия atomicModifyIORef. Это принудительно вычисляет значение, хранящееся в IORef, и возвращаемое значение. Новое значение устанавливается в IORef до принудительного вычисления возвращаемого значения. Например,

atomicModifyIORef' ref (x -> (x+1, undefined))

увеличит IORef и затем выбросит исключение в вызывающей потоке.

С: base-4.6.0.0

© 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-IORef.html

Spec-Zone.ru

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