-- 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]