configurator-ng- The next generation of configuration management

MaintainerLeon P Smith <>
Safe HaskellNone






type RMW r w a = r -> (Maybe a, w)Source

class Applicative m => ConfigParser m whereSource

A ConfigParser computation produces a value of type Maybe a from a given Config, in addition to a list of diagnostic messages, which may be interpreted as warnings or errors as deemed appropriate. The type class abstracts over ConfigParserM and ConfigParserA variants, which are isomorphic but have different Applicative and Monad instances. This is intended to be a closed typeclass, without any additional instances.

newtype ConfigParserM a Source

If the value returned by a computation is Nothing, then no subsequent actions (e.g. via <*> or >>=) will be performed.

newtype ConfigParserA a Source

After executing a subcomputation that returns a Nothing value, computations of type ConfigParserA will continue to run in order to produce more error messages. For this reason, ConfigParserA does not have a proper Monad instance. (But see unsafeBind)

newtype ConfigTransform Source

Conceptually, a ConfigTransform is a function Config -> Config. It's a restricted subset of such functions as to preserve the possibility of reliable dependency tracking in later versions of configurator-ng.


ConfigTransform (ConfigPlan ()) 


Monoid ConfigTransform

mempty is the identity ConfigTransform, mappend is the composition of two ConfigTransforms.