Data.Dynamic
Contents
Description
The Dynamic interface provides basic support for dynamic types.
Operations for injecting values of arbitrary type into a dynamically typed value, Dynamic, are provided, together with operations for converting dynamic values into a concrete (monomorphic) type.
Synopsis
module Data.Typeable
TheDynamic
type
A value of type Dynamic
is an object encapsulated together with its type.
A Dynamic
may only represent a monomorphic value; an attempt to create a value of type Dynamic
from a polymorphically-typed expression will result in an ambiguity error (see toDyn
).
Show
ing a value of type Dynamic
returns a pretty-printed representation of the object's type; useful for debugging.
Instances
Show Dynamic Typeable Dynamic Exception Dynamic Converting to and fromDynamic
toDyn :: Typeable a => a -> DynamicSource
Converts an arbitrary value into an object of type Dynamic
.
The type of the object must be an instance of Typeable
, which ensures that only monomorphically-typed objects may be converted to Dynamic
. To convert a polymorphic object into Dynamic
, give it a monomorphic type signature. For example:
toDyn (id :: Int -> Int)
Arguments
:: Typeable a => Dynamicthe dynamically-typed object
-> aa default value
-> areturns: the value of the first argument, if it has the correct type, otherwise the value of the second argument.
Converts a Dynamic
object back into an ordinary Haskell value of the correct type. See also fromDynamic
.
Arguments
:: Typeable a => Dynamicthe dynamically-typed object
-> Maybe areturns:
, if the dynamically-typed object has the correct type (and Just
aa
is its value), or Nothing
otherwise.
Converts a Dynamic
object back into an ordinary Haskell value of the correct type. See also fromDyn
.
dynApply :: Dynamic -> Dynamic -> Maybe DynamicSource
dynApp :: Dynamic -> Dynamic -> DynamicSource
dynTypeRep :: Dynamic -> TypeRepSource
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4