Stability  experimental 

Maintainer  conal@conal.net 
Invertible transformations
 data ITransform a = ITransform {
 itForward :: Unop a
 itBackward :: Unop a
 inverse :: Unop (ITransform a)
 andInverse :: (c > Unop a) > (c > c) > c > ITransform a
 class ITrans w a  a > w where
 (*:) :: ITransform w > Unop a
Documentation
data ITransform a Source
Transform with inverse. The Monoid
instances is identity and
composition (in the usual order for composition of the forward
transformations).
ITransform  

Monoid (ITransform a) 
inverse :: Unop (ITransform a)Source
Inverse an ITransform
andInverse :: (c > Unop a) > (c > c) > c > ITransform aSource
Handy when we invert a transform by modifying the argument to the transform's maker.
class ITrans w a  a > w whereSource
Transformable values
(*:) :: ITransform w > Unop aSource
ITrans Point Color  
ITrans w (E a)  
(ITrans w a, ITrans w b) => ITrans w (a > b)  
(ITrans w a, ITrans w b) => ITrans w (a, b)  
(ITrans w a, ITrans w b, ITrans w c) => ITrans w (a, b, c)  
(ITrans w a, ITrans w b, ITrans w c, ITrans w d) => ITrans w (a, b, c, d)  
ITrans (Complex T) T  
ITrans (Complex s) (Complex s) 