-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Small (TH) library to declare setters for typical `record' data type fields. -- -- Haskell declares a getter for each record style data type -- field. This library will help you declare setters (setFieldName -- function for fieldName field). @package setters @version 0.1 module Control.Monad.State.Puts -- | Puts is just an opposite to gets. Compare `x <- gets field' with -- `puts setField newValue'. puts :: MonadState s m => (a -> s -> s) -> a -> m () module Data.Setters -- | Declare setters for all fields of given `data' type. For example, for -- --
-- data Record = Record {
-- ...
-- someField :: Integer,
-- ... }
--
--
-- one will automatically get
--
-- -- someField :: Record -> Integer. ---- -- After calling -- --
-- $(declareSetters ''Record) ---- -- one will get -- --
-- setSomeField :: Integer -> Record -> Record. --declareSetters :: Name -> Q [Dec] -- | Similar to declareSetters, but add data type name to all -- setters' names. For example, one will get setRecordSomeField -- instead of setSomeField. declareSetters' :: Name -> Q [Dec]