Spec-Zone.ru › Haskell 9

Data.Dynamic

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

Содержание

  • Тип Dynamic
  • Преобразование в Dynamic и из него
  • Применение функций динамического типа
  • Удобные повторные экспорты

Описание

Интерфейс Dynamic предоставляет базовую поддержку динамических типов.

Предоставляются операции для вставки значений произвольного типа в динамически типизированное значение Dynamic, а также операции для преобразования динамических значений в конкретный (мономорфный) тип.

Тип Dynamic

data Dynamic where Исходный код

Значение типа Dynamic — это объект, инкапсулированный вместе со своим типом.

Значение Dynamic может представлять только мономорфное значение; попытка создать значение типа Dynamic из полиморфного выражения приведёт к ошибке неоднозначности (см. toDyn).

Вывод значения типа Dynamic возвращает отформатированное представление типа объекта; полезно для отладки.

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

Dynamic :: forall a. TypeRep a -> a -> Dynamic
Примеры
Подробности примеров
Исключение Dynamic Исходный код

С версии: base-4.0.0.0

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

Определено в GHC.Internal.Data.Dynamic

Методы

toException :: Dynamic -> SomeException Исходный код

fromException :: SomeException -> Maybe Dynamic Исходный код

displayException :: Dynamic -> Строка Исходный код

backtraceDesired :: Dynamic -> Булево Исходный код

Show Dynamic Исходный код

С версии: base-2.1

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

Определено в GHC.Internal.Data.Dynamic

Методы

showsPrec :: Целое -> Dynamic -> ShowS Исходный код

show :: Dynamic -> Строка Исходный код

showList :: [Dynamic] -> ShowS Исходный код

Преобразование в Dynamic и из него

toDyn :: Typeable a => a -> Dynamic Исходный код

Преобразует произвольное значение в объект типа Dynamic.

Тип объекта должен быть экземпляром Typeable, что гарантирует, что только мономорфные объекты могут быть преобразованы в Dynamic. Чтобы преобразовать полиморфный объект в Dynamic, присвойте ему мономорфную сигнатуру типа. Например:

   toDyn (id :: Int -> Int)

fromDyn Исходный код

Аргументы

:: Typeable a
=> Dynamic

динамически типизированный объект

-> a

значение по умолчанию

-> a

возвращает: значение первого аргумента, если у него правильный тип, в противном случае — значение второго аргумента.

Преобразует объект Dynamic обратно в обычное значение Haskell правильного типа. См. также fromDynamic.

fromDynamic Исходный код

Аргументы

:: Typeable a
=> Dynamic

динамически типизированный объект

-> Может a

возвращает: Just a, если у динамически типизированного объекта правильный тип (и a — его значение), или Nothing в противном случае.

Преобразует объект Dynamic обратно в обычное значение Haskell правильного типа. См. также fromDyn.

Применение функций динамического типа

dynApply :: Dynamic -> Dynamic -> Может Dynamic Исходный код

dynApp :: Dynamic -> Dynamic -> Dynamic Исходный код

dynTypeRep :: Dynamic -> SomeTypeRep Исходный код

Удобные повторные экспорты

class Typeable (a :: k) Исходный код

Класс Typeable позволяет вычислить конкретное представление типа.

Минимальное полное определение

typeRep#

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Dynamic.html

Spec-Zone.ru

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