unison-merge-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Merge.Libdeps

Description

An API for merging together two collections of library dependencies.

Synopsis

Documentation

data LibdepDiffOp a Source #

Constructors

AddLibdep !a 
AddBothLibdeps !a !a 
DeleteLibdep 

diffLibdeps Source #

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 #

applyLibdepsDiff Source #

Arguments

:: forall k v. Ord k 
=> (Set k -> k -> (k, k))

Freshen a name, e.g. "base" -> ("base4", "base5").

-> ThreeWay (Map k v)

Library dependencies.

-> Map k (LibdepDiffOp v)

Library dependencies diff.

-> Map k v

Merged library dependencies.