unison-parser-typechecker-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Codebase.Causal

Synopsis

Documentation

data Causal m e Source #

Instances

Instances details
Show e => Show (Causal m e) Source # 
Instance details

Defined in Unison.Codebase.Causal.Type

Methods

showsPrec :: Int -> Causal m e -> ShowS #

show :: Causal m e -> String #

showList :: [Causal m e] -> ShowS #

Eq (Causal m a) Source # 
Instance details

Defined in Unison.Codebase.Causal.Type

Methods

(==) :: Causal m a -> Causal m a -> Bool #

(/=) :: Causal m a -> Causal m a -> Bool #

Ord (Causal m a) Source # 
Instance details

Defined in Unison.Codebase.Causal.Type

Methods

compare :: Causal m a -> Causal m a -> Ordering #

(<) :: Causal m a -> Causal m a -> Bool #

(<=) :: Causal m a -> Causal m a -> Bool #

(>) :: Causal m a -> Causal m a -> Bool #

(>=) :: Causal m a -> Causal m a -> Bool #

max :: Causal m a -> Causal m a -> Causal m a #

min :: Causal m a -> Causal m a -> Causal m a #

pattern One :: CausalHash -> HashFor e -> e -> Causal m e Source #

pattern Cons :: CausalHash -> HashFor e -> e -> (CausalHash, m (Causal m e)) -> Causal m e Source #

pattern Merge :: CausalHash -> HashFor e -> e -> Map CausalHash (m (Causal m e)) -> Causal m e Source #

head_ :: ContentAddressable e => Lens' (Causal m e) e Source #

Focus the current head, keeping the hash up to date.

cons :: (Applicative m, ContentAddressable e) => e -> Causal m e -> Causal m e Source #

mergeNode :: ContentAddressable e => e -> Map CausalHash (m (Causal m e)) -> Causal m e Source #

An optimized variant of fromListM for when it is known we have 2+ predecessors (merge node).

uncons :: Applicative m => Causal m e -> m (Maybe (e, Causal m e)) Source #

predecessors :: Causal m e -> Seq (m (Causal m e)) Source #

threeWayMerge :: forall m e. (Monad m, ContentAddressable e) => (Maybe e -> e -> e -> m e) -> Causal m e -> Causal m e -> m (Causal m e) Source #

threeWayMerge' :: forall m e. (Monad m, ContentAddressable e) => (Causal m e -> Causal m e -> m (Maybe (Causal m e))) -> (Maybe e -> e -> e -> m e) -> Causal m e -> Causal m e -> m (Causal m e) Source #

squashMerge' :: forall m e. (Monad m, ContentAddressable e, Eq e) => (Causal m e -> Causal m e -> m (Maybe (Causal m e))) -> (e -> m e) -> (Maybe e -> e -> e -> m e) -> Causal m e -> Causal m e -> m (Causal m e) Source #

lca :: Monad m => Causal m e -> Causal m e -> m (Maybe (Causal m e)) Source #

stepDistinct :: (Applicative m, Eq e, ContentAddressable e) => (e -> e) -> Causal m e -> Causal m e Source #

stepDistinctM :: (Applicative m, Functor n, Eq e, ContentAddressable e) => (e -> n e) -> Causal m e -> n (Causal m e) Source #

transform :: Functor m => (forall a. m a -> n a) -> Causal m e -> Causal n e Source #

unsafeMapHashPreserving :: forall m e e2. Functor m => (e -> e2) -> Causal m e -> Causal m e2 Source #

before :: Monad m => Causal m e -> Causal m e -> m Bool Source #

beforeHash :: forall m e. Monad m => Word -> CausalHash -> Causal m e -> m Bool Source #