Safe Haskell | None |
---|
- class (Initializable a, Typeable a) => YiConfigVariable a
- data ConfigVariables
- configVariableA :: forall a. YiConfigVariable a => Accessor ConfigVariables a
- class (Initializable a, Binary a, Typeable a) => YiVariable a
- data DynamicValues
- dynamicValueA :: forall a. YiVariable a => Accessor DynamicValues a
Nonserializable ("config") dynamics
class (Initializable a, Typeable a) => YiConfigVariable a Source
Class of values that can go in a ConfigDynamic
or a ConfigDynamicValues
.
These will typically go in a Config
. As the Config
has no mutable state,
there is no need to serialize these values: if needed, they will be set in the
user's configuration file. The Initializable
constraint ensures that, even if
the user hasn't customised this config variable, a value is stil available.
data ConfigVariables Source
An "extensible record" of YiConfigVariable
s. Can be constructed and accessed with initial
and configVariableA
.
This type can be thought of as a record containing all YiConfigVariable
s in existence.
configVariableA :: forall a. YiConfigVariable a => Accessor ConfigVariables aSource
Accessor for any YiConfigVariable
. Neither reader nor writer can fail:
if the user's config file hasn't set a value for a YiConfigVariable
,
then the default value is used.
Serializable dynamics
class (Initializable a, Binary a, Typeable a) => YiVariable a Source
Class of values that can go in a Dynamic
or a DynamicValues
. These are
typically for storing custom state in a FBuffer
or an Editor
.
data DynamicValues Source
An extensible record, indexed by type.
dynamicValueA :: forall a. YiVariable a => Accessor DynamicValues aSource
Accessor for a dynamic component. If the component is not found, the value initial
is used.