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