unison-merge-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Merge.Internal.Types

Description

Internal types module to house types that would require mutual recursion at the module level if defined separately

Documentation

data GThreeWay a b Source #

Constructors

GThreeWay 

Fields

Instances

Instances details
Generic (GThreeWay a b) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Associated Types

type Rep (GThreeWay a b) :: Type -> Type #

Methods

from :: GThreeWay a b -> Rep (GThreeWay a b) x #

to :: Rep (GThreeWay a b) x -> GThreeWay a b #

type Rep (GThreeWay a b) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

type Rep (GThreeWay a b) = D1 ('MetaData "GThreeWay" "Unison.Merge.Internal.Types" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "GThreeWay" 'PrefixI 'True) (S1 ('MetaSel ('Just "lca") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: (S1 ('MetaSel ('Just "alice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Just "bob") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))))

data ThreeWay a Source #

Constructors

ThreeWay 

Fields

Instances

Instances details
Foldable ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

fold :: Monoid m => ThreeWay m -> m #

foldMap :: Monoid m => (a -> m) -> ThreeWay a -> m #

foldMap' :: Monoid m => (a -> m) -> ThreeWay a -> m #

foldr :: (a -> b -> b) -> b -> ThreeWay a -> b #

foldr' :: (a -> b -> b) -> b -> ThreeWay a -> b #

foldl :: (b -> a -> b) -> b -> ThreeWay a -> b #

foldl' :: (b -> a -> b) -> b -> ThreeWay a -> b #

foldr1 :: (a -> a -> a) -> ThreeWay a -> a #

foldl1 :: (a -> a -> a) -> ThreeWay a -> a #

toList :: ThreeWay a -> [a] #

null :: ThreeWay a -> Bool #

length :: ThreeWay a -> Int #

elem :: Eq a => a -> ThreeWay a -> Bool #

maximum :: Ord a => ThreeWay a -> a #

minimum :: Ord a => ThreeWay a -> a #

sum :: Num a => ThreeWay a -> a #

product :: Num a => ThreeWay a -> a #

Traversable ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

traverse :: Applicative f => (a -> f b) -> ThreeWay a -> f (ThreeWay b) #

sequenceA :: Applicative f => ThreeWay (f a) -> f (ThreeWay a) #

mapM :: Monad m => (a -> m b) -> ThreeWay a -> m (ThreeWay b) #

sequence :: Monad m => ThreeWay (m a) -> m (ThreeWay a) #

Applicative ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

pure :: a -> ThreeWay a #

(<*>) :: ThreeWay (a -> b) -> ThreeWay a -> ThreeWay b #

liftA2 :: (a -> b -> c) -> ThreeWay a -> ThreeWay b -> ThreeWay c #

(*>) :: ThreeWay a -> ThreeWay b -> ThreeWay b #

(<*) :: ThreeWay a -> ThreeWay b -> ThreeWay a #

Functor ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

fmap :: (a -> b) -> ThreeWay a -> ThreeWay b #

(<$) :: a -> ThreeWay b -> ThreeWay a #

Semialign ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

align :: ThreeWay a -> ThreeWay b -> ThreeWay (These a b) #

alignWith :: (These a b -> c) -> ThreeWay a -> ThreeWay b -> ThreeWay c #

Unzip ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

unzipWith :: (c -> (a, b)) -> ThreeWay c -> (ThreeWay a, ThreeWay b) #

unzip :: ThreeWay (a, b) -> (ThreeWay a, ThreeWay b) #

Zip ThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

zip :: ThreeWay a -> ThreeWay b -> ThreeWay (a, b) #

zipWith :: (a -> b -> c) -> ThreeWay a -> ThreeWay b -> ThreeWay c #

Generic (ThreeWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Associated Types

type Rep (ThreeWay a) :: Type -> Type #

Methods

from :: ThreeWay a -> Rep (ThreeWay a) x #

to :: Rep (ThreeWay a) x -> ThreeWay a #

type Rep (ThreeWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

type Rep (ThreeWay a) = D1 ('MetaData "ThreeWay" "Unison.Merge.Internal.Types" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "ThreeWay" 'PrefixI 'True) (S1 ('MetaSel ('Just "lca") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Just "alice") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "bob") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))

data TwoOrThreeWay a Source #

Constructors

TwoOrThreeWay 

Fields

Instances

Instances details
Foldable TwoOrThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

fold :: Monoid m => TwoOrThreeWay m -> m #

foldMap :: Monoid m => (a -> m) -> TwoOrThreeWay a -> m #

foldMap' :: Monoid m => (a -> m) -> TwoOrThreeWay a -> m #

foldr :: (a -> b -> b) -> b -> TwoOrThreeWay a -> b #

foldr' :: (a -> b -> b) -> b -> TwoOrThreeWay a -> b #

foldl :: (b -> a -> b) -> b -> TwoOrThreeWay a -> b #

foldl' :: (b -> a -> b) -> b -> TwoOrThreeWay a -> b #

foldr1 :: (a -> a -> a) -> TwoOrThreeWay a -> a #

foldl1 :: (a -> a -> a) -> TwoOrThreeWay a -> a #

toList :: TwoOrThreeWay a -> [a] #

null :: TwoOrThreeWay a -> Bool #

length :: TwoOrThreeWay a -> Int #

elem :: Eq a => a -> TwoOrThreeWay a -> Bool #

maximum :: Ord a => TwoOrThreeWay a -> a #

minimum :: Ord a => TwoOrThreeWay a -> a #

sum :: Num a => TwoOrThreeWay a -> a #

product :: Num a => TwoOrThreeWay a -> a #

Traversable TwoOrThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

traverse :: Applicative f => (a -> f b) -> TwoOrThreeWay a -> f (TwoOrThreeWay b) #

sequenceA :: Applicative f => TwoOrThreeWay (f a) -> f (TwoOrThreeWay a) #

mapM :: Monad m => (a -> m b) -> TwoOrThreeWay a -> m (TwoOrThreeWay b) #

sequence :: Monad m => TwoOrThreeWay (m a) -> m (TwoOrThreeWay a) #

Applicative TwoOrThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Functor TwoOrThreeWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

fmap :: (a -> b) -> TwoOrThreeWay a -> TwoOrThreeWay b #

(<$) :: a -> TwoOrThreeWay b -> TwoOrThreeWay a #

Generic (TwoOrThreeWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Associated Types

type Rep (TwoOrThreeWay a) :: Type -> Type #

type Rep (TwoOrThreeWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

type Rep (TwoOrThreeWay a) = D1 ('MetaData "TwoOrThreeWay" "Unison.Merge.Internal.Types" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "TwoOrThreeWay" 'PrefixI 'True) (S1 ('MetaSel ('Just "lca") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a)) :*: (S1 ('MetaSel ('Just "alice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "bob") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

data TwoWay a Source #

Constructors

TwoWay 

Fields

Instances

Instances details
Foldable TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

fold :: Monoid m => TwoWay m -> m #

foldMap :: Monoid m => (a -> m) -> TwoWay a -> m #

foldMap' :: Monoid m => (a -> m) -> TwoWay a -> m #

foldr :: (a -> b -> b) -> b -> TwoWay a -> b #

foldr' :: (a -> b -> b) -> b -> TwoWay a -> b #

foldl :: (b -> a -> b) -> b -> TwoWay a -> b #

foldl' :: (b -> a -> b) -> b -> TwoWay a -> b #

foldr1 :: (a -> a -> a) -> TwoWay a -> a #

foldl1 :: (a -> a -> a) -> TwoWay a -> a #

toList :: TwoWay a -> [a] #

null :: TwoWay a -> Bool #

length :: TwoWay a -> Int #

elem :: Eq a => a -> TwoWay a -> Bool #

maximum :: Ord a => TwoWay a -> a #

minimum :: Ord a => TwoWay a -> a #

sum :: Num a => TwoWay a -> a #

product :: Num a => TwoWay a -> a #

Traversable TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

traverse :: Applicative f => (a -> f b) -> TwoWay a -> f (TwoWay b) #

sequenceA :: Applicative f => TwoWay (f a) -> f (TwoWay a) #

mapM :: Monad m => (a -> m b) -> TwoWay a -> m (TwoWay b) #

sequence :: Monad m => TwoWay (m a) -> m (TwoWay a) #

Applicative TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

pure :: a -> TwoWay a #

(<*>) :: TwoWay (a -> b) -> TwoWay a -> TwoWay b #

liftA2 :: (a -> b -> c) -> TwoWay a -> TwoWay b -> TwoWay c #

(*>) :: TwoWay a -> TwoWay b -> TwoWay b #

(<*) :: TwoWay a -> TwoWay b -> TwoWay a #

Functor TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

fmap :: (a -> b) -> TwoWay a -> TwoWay b #

(<$) :: a -> TwoWay b -> TwoWay a #

Semialign TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

align :: TwoWay a -> TwoWay b -> TwoWay (These a b) #

alignWith :: (These a b -> c) -> TwoWay a -> TwoWay b -> TwoWay c #

Unzip TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

unzipWith :: (c -> (a, b)) -> TwoWay c -> (TwoWay a, TwoWay b) #

unzip :: TwoWay (a, b) -> (TwoWay a, TwoWay b) #

Zip TwoWay Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

zip :: TwoWay a -> TwoWay b -> TwoWay (a, b) #

zipWith :: (a -> b -> c) -> TwoWay a -> TwoWay b -> TwoWay c #

Monoid a => Monoid (TwoWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

mempty :: TwoWay a #

mappend :: TwoWay a -> TwoWay a -> TwoWay a #

mconcat :: [TwoWay a] -> TwoWay a #

Semigroup a => Semigroup (TwoWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

(<>) :: TwoWay a -> TwoWay a -> TwoWay a #

sconcat :: NonEmpty (TwoWay a) -> TwoWay a #

stimes :: Integral b => b -> TwoWay a -> TwoWay a #

Generic (TwoWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Associated Types

type Rep (TwoWay a) :: Type -> Type #

Methods

from :: TwoWay a -> Rep (TwoWay a) x #

to :: Rep (TwoWay a) x -> TwoWay a #

Show a => Show (TwoWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

showsPrec :: Int -> TwoWay a -> ShowS #

show :: TwoWay a -> String #

showList :: [TwoWay a] -> ShowS #

NFData a => NFData (TwoWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

Methods

rnf :: TwoWay a -> () #

type Rep (TwoWay a) Source # 
Instance details

Defined in Unison.Merge.Internal.Types

type Rep (TwoWay a) = D1 ('MetaData "TwoWay" "Unison.Merge.Internal.Types" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "TwoWay" 'PrefixI 'True) (S1 ('MetaSel ('Just "alice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "bob") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))