fclabels-monadlib (empty) → 0.0.1
raw patch · 4 files changed
+67/−0 lines, 4 filesdep +basedep +fclabelsdep +haskell98setup-changed
Dependencies added: base, fclabels, haskell98, monadLib
Files
- LICENSE +27/−0
- Setup.hs +2/−0
- fclabels-monadlib.cabal +21/−0
- src/Data/Record/Label/MonadLib.hs +17/−0
+ LICENSE view
@@ -0,0 +1,27 @@+Copyright (c) Bardur Arantsson 2010++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:+1. Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.+2. Redistributions in binary form must reproduce the above copyright+ notice, this list of conditions and the following disclaimer in the+ documentation and/or other materials provided with the distribution.+3. Neither the name of the author nor the names of his contributors+ may be used to endorse or promote products derived from this software+ without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF+SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ fclabels-monadlib.cabal view
@@ -0,0 +1,21 @@+Name: fclabels-monadlib+Version: 0.0.1+Synopsis: MonadLib monadic interface for the "fclabels" package.+Description: A MonadLib-compatible monadic interface for the "fclabels" package.+License: BSD3+License-file: LICENSE+Category: Data+Cabal-version: >= 1.6+Build-type: Simple+Author: Bardur Arantsson+Maintainer: Bardur Arantsson <bardur@scientician.net>++Library+ build-depends: base == 4.*,+ haskell98,+ monadLib == 3.6.*,+ fclabels == 0.11.*+ extensions: TypeOperators+ ghc-options: -Wall+ hs-source-dirs: src+ exposed-modules: Data.Record.Label.MonadLib
+ src/Data/Record/Label/MonadLib.hs view
@@ -0,0 +1,17 @@+module Data.Record.Label.MonadLib ( module L+ , modM+ , setM+ , getM+ ) where++import Data.Record.Label as L hiding (modM, setM, getM)+import MonadLib.Monads++modM :: StateM m f => (f :-> a) -> (a -> a) -> m ()+modM l f = liftM (modL l f) get >>= set++setM :: StateM m f => (f :-> a) -> a -> m ()+setM l a = liftM (setL l a) get >>= set++getM :: StateM m f => (f :-> a) -> m a+getM l = liftM (getL l) get