| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Unison.Merge.Diffblob
Synopsis
- data Diffblob libdep = Diffblob {
- conflicts :: TwoWay (DefnsF (Map Name) TermReference TypeReference)
- declNameLookups :: GThreeWay PartialDeclNameLookup DeclNameLookup
- defns :: ThreeWay UnconflictedLocalDefnsView
- defnsIds :: ThreeWay (DefnsF Set TermReferenceId TypeReferenceId)
- diff :: DefnsF2 (Map Name) CombinedDiffOp Referent TypeReference
- diffsFromLCA :: TwoWay (DefnsF3 (Map Name) DiffOp Synhashed Referent TypeReference)
- hydratedNarrowedDefns :: Defns (Map TermReferenceId (Term Symbol Ann, Type Symbol Ann)) (Map TypeReferenceId (Decl Symbol Ann))
- libdeps :: Updated (Map NameSegment libdep)
- libdepsDiffs :: TwoWay (Map NameSegment (DiffOp libdep))
- propagatedUpdates :: TwoWay (DefnsF (Map Name) (Updated Referent) (Updated TypeReference))
- simpleRenames :: TwoWay (Defns SimpleRenames SimpleRenames)
- unconflicts :: DefnsF Unconflicts Referent TypeReference
- makeDiffblob :: forall libdep m. (Eq libdep, Monad m) => DiffblobLog m -> (ThreeWay (DefnsF Set TermReferenceId TypeReferenceId) -> m (Defns (Map TermReferenceId (Term Symbol Ann, Type Symbol Ann)) (Map TypeReferenceId (Decl Symbol Ann)))) -> (ThreeWay (Set LabeledDependency) -> m (ThreeWay Names)) -> ThreeWay UnconflictedLocalDefnsView -> ThreeWay (Map NameSegment libdep) -> GThreeWay PartialDeclNameLookup DeclNameLookup -> m (Diffblob libdep)
- makeFastForwardDiffblob :: forall libdep m. (Eq libdep, Monad m) => (Updated (DefnsF Set TermReferenceId TypeReferenceId) -> m (Defns (Map TermReferenceId (Term Symbol Ann, Type Symbol Ann)) (Map TypeReferenceId (Decl Symbol Ann)))) -> (Updated (Set LabeledDependency) -> m (Updated Names)) -> Updated UnconflictedLocalDefnsView -> Updated (Map NameSegment libdep) -> Updated DeclNameLookup -> m (Diffblob libdep)
- data DiffblobLog m = DiffblobLog {
- logDefns :: ThreeWay (DefnsF (Map Name) Referent TypeReference) -> m ()
- logNarrowedDefns :: TwoWay (Updated (DefnsF (Map Name) Referent TypeReference)) -> m ()
- logSynhashedNarrowedDefns :: TwoWay (GUpdated (DefnsF2 (Map Name) Synhashed Referent TypeReference) (DefnsF2 (Map Name) Synhashed Referent TypeReference)) -> m ()
- logDiffsFromLCA :: TwoWay (DefnsF3 (Map Name) DiffOp Synhashed Referent TypeReference) -> m ()
- logDiff :: DefnsF2 (Map Name) CombinedDiffOp Referent TypeReference -> m ()
- emptyDiffblobLog :: Applicative m => DiffblobLog m
Documentation
Constructors
| Diffblob | |
Fields
| |
makeDiffblob :: forall libdep m. (Eq libdep, Monad m) => DiffblobLog m -> (ThreeWay (DefnsF Set TermReferenceId TypeReferenceId) -> m (Defns (Map TermReferenceId (Term Symbol Ann, Type Symbol Ann)) (Map TypeReferenceId (Decl Symbol Ann)))) -> (ThreeWay (Set LabeledDependency) -> m (ThreeWay Names)) -> ThreeWay UnconflictedLocalDefnsView -> ThreeWay (Map NameSegment libdep) -> GThreeWay PartialDeclNameLookup DeclNameLookup -> m (Diffblob libdep) Source #
makeFastForwardDiffblob :: forall libdep m. (Eq libdep, Monad m) => (Updated (DefnsF Set TermReferenceId TypeReferenceId) -> m (Defns (Map TermReferenceId (Term Symbol Ann, Type Symbol Ann)) (Map TypeReferenceId (Decl Symbol Ann)))) -> (Updated (Set LabeledDependency) -> m (Updated Names)) -> Updated UnconflictedLocalDefnsView -> Updated (Map NameSegment libdep) -> Updated DeclNameLookup -> m (Diffblob libdep) Source #
Like makeDiffblob, but for a fast forward, and when the LCA is known not to have any type declarations with
missing constructor names.
data DiffblobLog m Source #
Constructors
| DiffblobLog | |
Fields
| |
emptyDiffblobLog :: Applicative m => DiffblobLog m Source #