Spec-Zone.ru › Haskell 7

Foreign.Marshal.Unsafe

Авторские права (c) Группа разработчиков FFI 2003
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка ffi@haskell.org
Стабильность предварительная
Переносимость переносимая
Безопасный Haskell Небезопасный
Язык Haskell2010

Содержание

  • Небезопасные функции

Описание

Поддержка маппинга. Небезопасный API.

Небезопасные функции

unsafeLocalState :: IO a -> a Источник

Иногда внешнее сущность — это чистая функция, за исключением того, что она передает аргументы и/или результаты через указатели. Функция unsafeLocalState позволяет упаковать такие сущности как чистые функции.

Единственные операции IO, разрешенные в действии IO, переданном в unsafeLocalState, это (a) локальное выделение памяти (alloca, allocaBytes и производные операции, такие как withArray и withCString), и (b) операции с указателями (Foreign.Storable и Foreign.Ptr) на указатели локального хранилища, и (c) внешние функции, единственным наблюдаемым эффектом которых является чтение и/или запись локальной выделенной памяти. Передача операции IO, которая не подчиняется этим правилам, приводит к неопределенному поведению.

Ожидается, что эта операция будет заменена в будущей версии Haskell.

© 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/Foreign-Marshal-Unsafe.html

Spec-Zone.ru

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