Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
V3 branches and causals.
Synopsis
- data BranchV3 m = BranchV3 {
- children :: !(Map NameSegment (CausalBranchV3 m))
- terms :: !(Map NameSegment Referent)
- types :: !(Map NameSegment TypeReference)
- type CausalBranchV3 m = Causal m CausalHash BranchHash (Branch m) (BranchV3 m)
Documentation
A V3 branch is a trimmed-down V2 branch:
- Names can't be conflicted.
- Metadata doesn't exist.
- Patches don't exist.
BranchV3 | |
|
Instances
Generic (BranchV3 m) Source # | |
type Rep (BranchV3 m) Source # | |
Defined in U.Codebase.BranchV3 type Rep (BranchV3 m) = D1 ('MetaData "BranchV3" "U.Codebase.BranchV3" "unison-codebase-0.0.0-AFzt1HmKDX512erVMwvK3i" 'False) (C1 ('MetaCons "BranchV3" 'PrefixI 'True) (S1 ('MetaSel ('Just "children") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment (CausalBranchV3 m))) :*: (S1 ('MetaSel ('Just "terms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment Referent)) :*: S1 ('MetaSel ('Just "types") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment TypeReference))))) |
type CausalBranchV3 m = Causal m CausalHash BranchHash (Branch m) (BranchV3 m) Source #
A V3 branch's history has V3 branches everywhere at the latest causal (so, no metadata, no patches, etc. in any children namespaces), but when we go back in history, we find V2 branches, because that's what we used to have ;)