packages feed

flexiwrap-0.1.0: Data/Flex/MonadPlus.hs

{-# LANGUAGE ScopedTypeVariables, PolymorphicComponents #-}
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-}
-- .$Header: c:/Source/Haskell/Wrapper/Data/Flex/RCS/MonadPlus.hs,v 1.2 2011/03/05 01:02:51 dosuser Exp dosuser $
module Data.Flex.MonadPlus where

class FWMonadPlus (m :: * -> *) r | m -> r

data FWDefaultMonadPlus = FWDefaultMonadPlus

data FWMZero t (m :: * -> *) = FWMZero

newtype WrapMZero m = WrapMZero {unwrapMZero :: forall a. m a}

data FWMPlus t (m :: * -> *) = FWMPlus

newtype WrapMPlus m = WrapMPlus {unwrapMPlus :: forall a. m a -> m a -> m a}

-- vim: expandtab:tabstop=4:shiftwidth=4