flexiwrap-0.0.1: Data/Flex/Applicative.hs
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE PolymorphicComponents #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FunctionalDependencies #-}
-- .$Header: c:/Source/Haskell/Wrapper/Data/Flex/RCS/Applicative.hs,v 1.1 2010/03/10 01:56:44 dosuser Exp dosuser $
module Data.Flex.Applicative where
class FWApplicative (f :: * -> *) r | f -> r
data FWDefaultApplicative = FWDefaultApplicative
data FWPure t (f :: * -> *) = FWPure
newtype WrapPure f = WrapPure {unwrapPure :: forall a. a -> f a}
data FWCombine t (f :: * -> *) = FWCombine
newtype WrapCombine f =
WrapCombine {unwrapCombine :: forall a b. f (a -> b) -> (f a -> f b)}
-- vim: expandtab:tabstop=4:shiftwidth=4