|
| Data.Dynamic | | Portability | portable | | Stability | experimental | | Maintainer | libraries@haskell.org |
|
|
|
|
|
| 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 |
|
|
|
| Documentation |
|
| module Data.Typeable |
|
| The Dynamic type |
|
| data Dynamic |
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).
Showing a value of type Dynamic returns a pretty-printed representation
of the object's type; useful for debugging.
| | Instances | |
|
|
| Converting to and from Dynamic |
|
| toDyn :: Typeable a => a -> Dynamic |
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)
|
|
| fromDyn |
| :: Typeable a | | | => Dynamic | the dynamically-typed object | | -> a | a default value | | -> a | returns: 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. |
|
|
| fromDynamic |
| :: Typeable a | | | => Dynamic | the dynamically-typed object | | -> Maybe a | returns: Just a, if the dyanmically-typed
object has the correct type (and a is its value),
or Nothing otherwise. | | Converts a Dynamic object back into an ordinary Haskell value of
the correct type. See also fromDyn. |
|
|
| Applying functions of dynamic type |
|
| dynApply :: Dynamic -> Dynamic -> Maybe Dynamic |
|
| dynApp :: Dynamic -> Dynamic -> Dynamic |
|
| Produced by Haddock version 0.6 |