unison-merge-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Merge

Contents

Synopsis

Documentation

Types

data CombinedDiffOp a Source #

The combined result of two diffs on the same thing.

Instances

Instances details
Generic (CombinedDiffOp a) Source # 
Instance details

Defined in Unison.Merge.CombineDiffs

Associated Types

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

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

Defined in Unison.Merge.CombineDiffs

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

Defined in Unison.Merge.CombineDiffs

Methods

rnf :: CombinedDiffOp a -> () #

type Rep (CombinedDiffOp a) Source # 
Instance details

Defined in Unison.Merge.CombineDiffs

type Rep (CombinedDiffOp a) = D1 ('MetaData "CombinedDiffOp" "Unison.Merge.CombineDiffs" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) ((C1 ('MetaCons "CombinedDiffOp'Add" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EitherWayI a))) :+: C1 ('MetaCons "CombinedDiffOp'Delete" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EitherWayI a)))) :+: (C1 ('MetaCons "CombinedDiffOp'Update" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (EitherWayI (Updated a)))) :+: C1 ('MetaCons "CombinedDiffOp'Conflict" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TwoWay a)))))

data DiffOp a Source #

A diff operation is one of:

  • An add (where nothing was)
  • A delete (of the thing that was)
  • An update (from old to new)

Constructors

DiffOp'Add !a 
DiffOp'Delete !a 
DiffOp'Update !(Updated a) 

Instances

Instances details
Show a => Show (DiffOp a) Source # 
Instance details

Defined in Unison.Merge.DiffOp

Methods

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

show :: DiffOp a -> String #

showList :: [DiffOp a] -> ShowS #

data EitherWay a Source #

Alice exclusive-or Bob?

Constructors

Alice a 
Bob a 

Instances

Instances details
Functor EitherWay Source # 
Instance details

Defined in Unison.Merge.EitherWay

Methods

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

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

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

Defined in Unison.Merge.EitherWay

Eq a => Eq (EitherWay a) Source # 
Instance details

Defined in Unison.Merge.EitherWay

Methods

(==) :: EitherWay a -> EitherWay a -> Bool #

(/=) :: EitherWay a -> EitherWay a -> Bool #

data EitherWayI a Source #

Alice inclusive-or Bob?

Constructors

OnlyAlice a 
OnlyBob a 
AliceAndBob a 

Instances

Instances details
Functor EitherWayI Source # 
Instance details

Defined in Unison.Merge.EitherWayI

Methods

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

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

Generic (EitherWayI a) Source # 
Instance details

Defined in Unison.Merge.EitherWayI

Associated Types

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

Methods

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

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

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

Defined in Unison.Merge.EitherWayI

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

Defined in Unison.Merge.EitherWayI

Methods

rnf :: EitherWayI a -> () #

type Rep (EitherWayI a) Source # 
Instance details

Defined in Unison.Merge.EitherWayI

type Rep (EitherWayI a) = D1 ('MetaData "EitherWayI" "Unison.Merge.EitherWayI" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "OnlyAlice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: (C1 ('MetaCons "OnlyBob" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "AliceAndBob" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

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 GUpdated a b Source #

An updated thing.

Constructors

Updated 

Fields

Instances

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

Defined in Unison.Merge.Updated

Associated Types

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

Methods

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

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

(Show a, Show b) => Show (GUpdated a b) Source # 
Instance details

Defined in Unison.Merge.Updated

Methods

showsPrec :: Int -> GUpdated a b -> ShowS #

show :: GUpdated a b -> String #

showList :: [GUpdated a b] -> ShowS #

(NFData a, NFData b) => NFData (GUpdated a b) Source # 
Instance details

Defined in Unison.Merge.Updated

Methods

rnf :: GUpdated a b -> () #

type Rep (GUpdated a b) Source # 
Instance details

Defined in Unison.Merge.Updated

type Rep (GUpdated a b) = D1 ('MetaData "GUpdated" "Unison.Merge.Updated" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "Updated" 'PrefixI 'True) (S1 ('MetaSel ('Just "old") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "new") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))

data LibdepDiffOp a Source #

Constructors

AddLibdep !a 
AddBothLibdeps !a !a 
DeleteLibdep 

data Rename Source #

A "rename" is a venn partition of two non-empty sets of names: both set differences and the set intersection.

Invariant: the sets are all disjoint Invariant: it is not the case that adds and deletes are both empty

Constructors

Rename 

data SimpleRenames Source #

A "simple" rename is one that moves one name to another, where neither the before- nor after-name have any aliases.

Constructors

SimpleRenames 

Fields

data Synhashed a Source #

A small utility type that represents a syntactic-hashed thing.

The synhash itself is a lazy field so that we can avoid computing it in certain cases, just using laziness.

The Eq and Ord instances only compares syntactic hashes.

Constructors

Synhashed 

Fields

Instances

Instances details
Functor Synhashed Source # 
Instance details

Defined in Unison.Merge.Synhashed

Methods

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

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

Generic (Synhashed a) Source # 
Instance details

Defined in Unison.Merge.Synhashed

Associated Types

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

Methods

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

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

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

Defined in Unison.Merge.Synhashed

Eq (Synhashed a) Source # 
Instance details

Defined in Unison.Merge.Synhashed

Methods

(==) :: Synhashed a -> Synhashed a -> Bool #

(/=) :: Synhashed a -> Synhashed a -> Bool #

Ord (Synhashed a) Source # 
Instance details

Defined in Unison.Merge.Synhashed

type Rep (Synhashed a) Source # 
Instance details

Defined in Unison.Merge.Synhashed

type Rep (Synhashed a) = D1 ('MetaData "Synhashed" "Unison.Merge.Synhashed" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "Synhashed" 'PrefixI 'True) (S1 ('MetaSel ('Just "hash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hash) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))

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)))

data TwoWayI a Source #

"Two-way inclusive".

Constructors

TwoWayI 

Fields

Instances

Instances details
Foldable TwoWayI Source # 
Instance details

Defined in Unison.Merge.TwoWayI

Methods

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

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

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

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

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

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

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

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

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

toList :: TwoWayI a -> [a] #

null :: TwoWayI a -> Bool #

length :: TwoWayI a -> Int #

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

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

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

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

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

Applicative TwoWayI Source # 
Instance details

Defined in Unison.Merge.TwoWayI

Methods

pure :: a -> TwoWayI a #

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

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

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

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

Functor TwoWayI Source # 
Instance details

Defined in Unison.Merge.TwoWayI

Methods

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

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

Semialign TwoWayI Source # 
Instance details

Defined in Unison.Merge.TwoWayI

Methods

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

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

Zip TwoWayI Source # 
Instance details

Defined in Unison.Merge.TwoWayI

Methods

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

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

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

Defined in Unison.Merge.TwoWayI

Methods

mempty :: TwoWayI a #

mappend :: TwoWayI a -> TwoWayI a -> TwoWayI a #

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

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

Defined in Unison.Merge.TwoWayI

Methods

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

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

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

Generic (TwoWayI a) Source # 
Instance details

Defined in Unison.Merge.TwoWayI

Associated Types

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

Methods

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

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

type Rep (TwoWayI a) Source # 
Instance details

Defined in Unison.Merge.TwoWayI

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

data Unconflicts v Source #

Constructors

Unconflicts 

Fields

Instances

Instances details
Foldable Unconflicts Source # 
Instance details

Defined in Unison.Merge.Unconflicts

Methods

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

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

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

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

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

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

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

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

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

toList :: Unconflicts a -> [a] #

null :: Unconflicts a -> Bool #

length :: Unconflicts a -> Int #

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

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

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

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

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

Functor Unconflicts Source # 
Instance details

Defined in Unison.Merge.Unconflicts

Methods

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

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

Generic (Unconflicts v) Source # 
Instance details

Defined in Unison.Merge.Unconflicts

Associated Types

type Rep (Unconflicts v) :: Type -> Type #

Methods

from :: Unconflicts v -> Rep (Unconflicts v) x #

to :: Rep (Unconflicts v) x -> Unconflicts v #

type Rep (Unconflicts v) Source # 
Instance details

Defined in Unison.Merge.Unconflicts

type Rep (Unconflicts v) = D1 ('MetaData "Unconflicts" "Unison.Merge.Unconflicts" "unison-merge-0.0.0-CsoqdT2tgnzJVh8bRze97e" 'False) (C1 ('MetaCons "Unconflicts" 'PrefixI 'True) (S1 ('MetaSel ('Just "adds") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TwoWayI (Map Name v))) :*: (S1 ('MetaSel ('Just "deletes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TwoWayI (Map Name v))) :*: S1 ('MetaSel ('Just "updates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TwoWayI (Map Name v))))))

type Updated a = GUpdated a a Source #