flexiwrap-0.0.1: Flexible wrappers

Data.Flex.Wrap

Documentation

newtype FlexiWrap s a Source

Constructors

FlexiWrap 

Fields

unFlexiWrap :: a
 

flexiWrap :: s -> a -> FW s aSource

inFlexiWrap :: (a -> b) -> FW s a -> FW s bSource

inFlexiWrap2 :: (a -> b -> c) -> FW s a -> FW s b -> FW s cSource

class FWNormAppend s t u | s t -> uSource

Instances

TypeCast u (:*: x t) => FWNormAppend x t u 
FWNormAppend TNil t t 
FWNormAppend s t u => FWNormAppend (:*: x s) t (:*: x u) 

class FWrap w a b | w a -> b whereSource

Methods

fWrap :: w -> a -> bSource

Instances

(Apply FWTag a t, FWNormAppend s t u, FWIsWrapped a w, Apply (FWFWrap u a) w (a -> FW u b)) => FWrap s a (FW u b) 

data FWAlreadyWrapped Source

Constructors

FWAlreadyWrapped 

Instances

FWIsWrapped (FW s a) FWAlreadyWrapped 
Apply (FWFWrap u (FW s a)) FWAlreadyWrapped (FW s a -> FW u a) 
FWIsWrappedT (FWT s f a) FWAlreadyWrapped 
Apply (FWFWrapT u f (FWT s f a)) FWAlreadyWrapped (FWT s f a -> FWT u f a) 

data FWNewWrapper Source

Constructors

FWNewWrapper 

Instances

Apply (FWFWrap u a) FWNewWrapper (a -> FW u a) 
Apply (FWFWrapT u f (f a)) FWNewWrapper (f a -> FWT u f a) 

data FWFWrap s a Source

Constructors

FWFWrap 

Instances

Apply (FWFWrap u (FW s a)) FWAlreadyWrapped (FW s a -> FW u a) 
Apply (FWFWrap u a) FWNewWrapper (a -> FW u a) 

data FWTag Source

Instances

TypeCast r TNil => Apply FWTag a r 
Apply FWTag (FW t a) t 

on :: (b -> b -> c) -> (a -> b) -> a -> a -> cSource

class FWEq a r | a -> rSource

Instances

TypeCast r FWDefaultEq => FWEq (FW t a) r 
FWEq (FW s a) r => FWEq (FW (:*: x s) a) r 

data FWDefaultEq Source

Constructors

FWDefaultEq 

Instances

Eq a => Apply (FWNotEquals t a) FWDefaultEq (FW t a -> FW t a -> Bool) 
Eq a => Apply (FWEquals t a) FWDefaultEq (FW t a -> FW t a -> Bool) 

data FWEquals t a Source

Constructors

FWEquals 

Instances

Eq a => Apply (FWEquals t a) FWDefaultEq (FW t a -> FW t a -> Bool) 

data FWNotEquals t a Source

Constructors

FWNotEquals 

Instances

Eq a => Apply (FWNotEquals t a) FWDefaultEq (FW t a -> FW t a -> Bool)