packages feed

tagged (empty) → 0.0

raw patch · 4 files changed

+99/−0 lines, 4 filesdep +basesetup-changed

Dependencies added: base

Files

+ Data/Tagged.hs view
@@ -0,0 +1,42 @@+----------------------------------------------------------------------------+-- |+-- Module     : Data.Tagged+-- Copyright  : 2009 Edward Kmett+-- License    : BSD3+--+-- Maintainer  : Edward Kmett <ekmett@gmail.com>+-- Stability   : experimental+-- Portability : portable+--+-------------------------------------------------------------------------------++module Data.Tagged+    ( Tagged(..)+    , retag+    ) where++import Control.Applicative ++newtype Tagged a b = Tagged { unTagged :: b } deriving (Eq,Ord,Show,Read)++instance Functor (Tagged a) where +    fmap f (Tagged x) = Tagged (f x)+    {-# INLINE fmap #-}++instance Applicative (Tagged a) where+    pure = Tagged+    {-# INLINE pure #-}+    Tagged f <*> Tagged x = Tagged (f x)+    {-# INLINE (<*>) #-}++instance Monad (Tagged a) where+    return = Tagged+    {-# INLINE return #-}+    Tagged m >>= k = k m +    {-# INLINE (>>=) #-}+    _ >> n = n+    {-# INLINE (>>) #-}++retag :: Tagged f b -> Tagged g b+retag = Tagged . unTagged +{-# INLINE retag #-}
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2009 Edward Kmett+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are+met:++    * Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer.++    * 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.++    * Neither the name of Edward Kmett nor the names of other+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT+OWNER 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.lhs view
@@ -0,0 +1,7 @@+#!/usr/bin/runhaskell+> module Main (main) where++> import Distribution.Simple++> main :: IO ()+> main = defaultMain
+ tagged.cabal view
@@ -0,0 +1,20 @@+name:		    tagged+version:	    0.0+license:	    BSD3+license-file:   LICENSE+author:		    Edward A. Kmett+maintainer:	    Edward A. Kmett <ekmett@gmail.com>+stability:	    experimental+category:	    Data, Phantom Types+synopsis:	    Provides a newtype wrapper for phantom types to avoid passing dummy arguments+copyright:      2009 Edward A. Kmett+description:    Provides a newtype wrapper for phantom types to avoid passing dummy arguments+build-type:     Simple+cabal-version:  >=1.2++library+  build-depends: +    base >= 4 && < 5+  exposed-modules:+    Data.Tagged+  ghc-options: -Wall