{-# 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