| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Unison.Merge.Libdeps
Description
An API for merging together two collections of library dependencies.
Synopsis
- data LibdepDiffOp a
- = AddLibdep !a
- | AddBothLibdeps !a !a
- | DeleteLibdep
- diffLibdeps :: forall k v. (Ord k, Eq v) => ThreeWay (Map k v) -> TwoWay (Map k (DiffOp v))
- diffLibdeps1 :: (Ord k, Eq v) => Updated (Map k v) -> Map k (DiffOp v)
- mergeLibdepsDiffs :: forall k v. (Ord k, Eq v) => TwoWay (Map k (DiffOp v)) -> Map k (LibdepDiffOp v)
- applyLibdepsDiff :: forall k v. Ord k => (Set k -> k -> (k, k)) -> ThreeWay (Map k v) -> Map k (LibdepDiffOp v) -> Map k v
- getTwoFreshLibdepNames :: Set NameSegment -> NameSegment -> (NameSegment, NameSegment)
Documentation
data LibdepDiffOp a Source #
Constructors
| AddLibdep !a | |
| AddBothLibdeps !a !a | |
| DeleteLibdep |
Arguments
| :: forall k v. (Ord k, Eq v) | |
| => ThreeWay (Map k v) | Library dependencies. |
| -> TwoWay (Map k (DiffOp v)) | Library dependencies diffs. |
Perform two two-way diffs on two collections of library dependencies. This is only half of a three-way diff: use
mergeLibdepsDiffs to complete it.
diffLibdeps1 :: (Ord k, Eq v) => Updated (Map k v) -> Map k (DiffOp v) Source #
Like diffLibdeps, but for one LCA->Head side of a diff.
mergeLibdepsDiffs :: forall k v. (Ord k, Eq v) => TwoWay (Map k (DiffOp v)) -> Map k (LibdepDiffOp v) Source #
getTwoFreshLibdepNames :: Set NameSegment -> NameSegment -> (NameSegment, NameSegment) Source #