| Copyright | (c) The University of Glasgow 2001 | 
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) | 
| Maintainer | libraries@haskell.org | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Trustworthy | 
| Language | Haskell2010 | 
Data.Dynamic
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
The Dynamic 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).
Showing a value of type Dynamic returns a pretty-printed representation
  of the object's type; useful for debugging.
Instances
| Exception Dynamic # | Since: base-4.0.0.0 | 
| Defined in Data.Dynamic Methods toException :: Dynamic -> SomeException # fromException :: SomeException -> Maybe Dynamic # displayException :: Dynamic -> String # | |
| Show Dynamic # | Since: base-2.1 | 
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)
Arguments
| :: 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.
Applying functions of dynamic type
dynTypeRep :: Dynamic -> SomeTypeRep #