Safe Haskell | None |
---|---|
Language | GHC2021 |
Hix.Managed.Build.Mutation
Synopsis
- candidateMutation :: SolverState -> MutableId -> (Version -> VersionBounds -> VersionBounds) -> BuildMutation
- candidateConstraints :: MutableId -> EnvConstraints -> EnvConstraints
- updateConstraints :: (MutableId -> PackageId -> MutationConstraints -> MutationConstraints) -> MutableId -> MutationState -> EnvConstraints -> EnvConstraints
- buildCandidate :: (BuildMutation -> M (Maybe (MutationState, Set PackageId))) -> (Version -> VersionBounds -> VersionBounds) -> (MutableId -> PackageId -> MutationConstraints -> MutationConstraints) -> SolverState -> MutableDep -> Version -> M (Maybe (MutableId, SolverState, MutationState, Set PackageId))
Documentation
candidateMutation :: SolverState -> MutableId -> (Version -> VersionBounds -> VersionBounds) -> BuildMutation Source #
updateConstraints :: (MutableId -> PackageId -> MutationConstraints -> MutationConstraints) -> MutableId -> MutationState -> EnvConstraints -> EnvConstraints Source #
buildCandidate :: (BuildMutation -> M (Maybe (MutationState, Set PackageId))) -> (Version -> VersionBounds -> VersionBounds) -> (MutableId -> PackageId -> MutationConstraints -> MutationConstraints) -> SolverState -> MutableDep -> Version -> M (Maybe (MutableId, SolverState, MutationState, Set PackageId)) Source #
Boilerplate for mutation handlers, could be better.
TODO If we'd use the retract
field from DepMutation
and the target bound here, we could probably use a universal
bounds updater without leaking implementation...investigate.