rope-0.1: Tools for manipulating annotated ropes of bytestrings

Data.Rope.Util.Product

Documentation

data a :*: b Source

Constructors

!a :*: !b 

Instances

Bifunctor :*: 
Product :*: 
(Reducer c a, Reducer c b) => Reducer c (:*: a b) 
Functor (:*: a) 
Comonad (:*: a) 
(Monoid a, Monoid b) => Monoid (:*: a b) 
(Annotation a, Annotation b) => Annotation (:*: a b) 

class Bifunctor p => Product p whereSource

Methods

fst :: p a b -> aSource

snd :: p a b -> bSource

pair :: a -> b -> p a bSource

curry :: (p a b -> c) -> a -> b -> cSource

uncurry :: (a -> b -> c) -> p a b -> cSource

both :: (a -> b) -> (a -> c) -> a -> p b cSource

diag :: a -> p a aSource

Instances

bothC :: (Product p, Functor f) => (f a -> b) -> (f c -> d) -> f (p a c) -> p b dSource

unzip :: (Product p, Functor f) => f (p a b) -> p (f a) (f b)Source