module Hix.Managed.Lower.Data.LowerMode where import Hix.Managed.Cabal.Data.SolverState (SolverState) import Hix.Managed.Data.Mutation (MutationResult (MutationFailed, MutationKeep)) data LowerMode = LowerMode { LowerMode -> Bool firstSuccess :: Bool, LowerMode -> MutationResult SolverState noSuccess :: MutationResult SolverState } deriving stock (LowerMode -> LowerMode -> Bool (LowerMode -> LowerMode -> Bool) -> (LowerMode -> LowerMode -> Bool) -> Eq LowerMode forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: LowerMode -> LowerMode -> Bool == :: LowerMode -> LowerMode -> Bool $c/= :: LowerMode -> LowerMode -> Bool /= :: LowerMode -> LowerMode -> Bool Eq, Int -> LowerMode -> ShowS [LowerMode] -> ShowS LowerMode -> String (Int -> LowerMode -> ShowS) -> (LowerMode -> String) -> ([LowerMode] -> ShowS) -> Show LowerMode forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> LowerMode -> ShowS showsPrec :: Int -> LowerMode -> ShowS $cshow :: LowerMode -> String show :: LowerMode -> String $cshowList :: [LowerMode] -> ShowS showList :: [LowerMode] -> ShowS Show, (forall x. LowerMode -> Rep LowerMode x) -> (forall x. Rep LowerMode x -> LowerMode) -> Generic LowerMode forall x. Rep LowerMode x -> LowerMode forall x. LowerMode -> Rep LowerMode x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. LowerMode -> Rep LowerMode x from :: forall x. LowerMode -> Rep LowerMode x $cto :: forall x. Rep LowerMode x -> LowerMode to :: forall x. Rep LowerMode x -> LowerMode Generic) lowerInitMode :: LowerMode lowerInitMode :: LowerMode lowerInitMode = LowerMode { firstSuccess :: Bool firstSuccess = Bool True, noSuccess :: MutationResult SolverState noSuccess = MutationResult SolverState forall s. MutationResult s MutationFailed } lowerOptimizeMode :: LowerMode lowerOptimizeMode :: LowerMode lowerOptimizeMode = LowerMode { firstSuccess :: Bool firstSuccess = Bool False, noSuccess :: MutationResult SolverState noSuccess = MutationResult SolverState forall s. MutationResult s MutationKeep } lowerStabilizeMode :: LowerMode lowerStabilizeMode :: LowerMode lowerStabilizeMode = LowerMode { firstSuccess :: Bool firstSuccess = Bool True, noSuccess :: MutationResult SolverState noSuccess = MutationResult SolverState forall s. MutationResult s MutationFailed }