Data.Dynamic
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | стабильная |
| Переносимость | переносимая |
| Safe Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Интерфейс Dynamic предоставляет базовую поддержку динамических типов.
Предоставляются операции для вставки значений произвольного типа в динамически типизированное значение Dynamic, а также операции для преобразования динамических значений в конкретный (мономорфный) тип.
Тип Dynamic
data Dynamic where Исходный код
Значение типа Dynamic — это объект, инкапсулированный вместе со своим типом.
Значение Dynamic может представлять только мономорфное значение; попытка создать значение типа Dynamic из полиморфного выражения приведёт к ошибке неоднозначности (см. toDyn).
Вывод значения типа Dynamic возвращает отформатированное представление типа объекта; полезно для отладки.
Примеры
| Исключение Dynamic Исходный код | С версии: base-4.0.0.0 |
Определено в GHC.Internal.Data.Dynamic МетодыtoException :: Dynamic -> SomeException Исходный код fromException :: SomeException -> Maybe 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)
Аргументы
| :: Typeable a | |
| => Dynamic | динамически типизированный объект |
| -> a | значение по умолчанию |
| -> a | возвращает: значение первого аргумента, если у него правильный тип, в противном случае — значение второго аргумента. |
Преобразует объект Dynamic обратно в обычное значение Haskell правильного типа. См. также fromDynamic.
Аргументы
| :: Typeable a | |
| => Dynamic | динамически типизированный объект |
| -> Может a | возвращает: |
Преобразует объект 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