Hoogle Search
Within LTS Haskell 22.23 (ghc-9.6.5)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
orElse :: Semigroup e => ValidationRule e a -> ValidationRule e a -> ValidationRule e avalida-base Valida.Combinators Build a rule that succeeds if either of the given rules succeed. If both fail, the errors are combined.
rule1 `orElse` (rule2 `orElse` rule3) = (rule1 `orElse` rule2) `orElse` rule3
falseRule e `orElse` rule = rule
rule `orElse` falseRule e = rule
Examples
>>> let rule = failureIf (>0) "Positive" `orElse` failureIf even "Even" >>> runValidator (validate rule) 5 Success 5 >>> runValidator (validate rule) 4 Failure ("Positive" :| ["Even"]) >>> runValidator (validate rule) 0 Success 0 >>> runValidator (validate rule) (-1) Success (-1)
orElseSTM :: STM a -> STM a -> STM aclassy-prelude ClassyPrelude Synonym for orElse.
orElseSTM :: STM a -> STM a -> STM aclassy-prelude-yesod ClassyPrelude.Yesod Synonym for orElse.
orElseSTM :: STM a -> STM a -> STM atermonad Termonad.Prelude Synonym for orElse.
SOrElse :: ModelSTM n a -> ModelSTM n a -> (a -> STMAction n) -> STMAction ndejafu Test.DejaFu.Conc.Internal.STM No documentation available.
TOrElse :: [TAction] -> Maybe [TAction] -> TActiondejafu Test.DejaFu.Types Execute a transaction. If the transaction aborts by calling retry, execute the other transaction.
casesOrElse :: OperatorContext c => [(Predicate c, Record c a)] -> Record c a -> Record c arelational-query Database.Relational.Arrow Same as caseSearch, but you can write like list casesOrElse clause.
-
relational-query Database.Relational.Arrow Uncurry version of case', and you can write like ... casesOrElse' clause.
casesOrElse :: OperatorContext c => [(Predicate c, Record c a)] -> Record c a -> Record c arelational-query Database.Relational.Projectable Same as caseSearch, but you can write like list casesOrElse clause.
-
relational-query Database.Relational.Projectable Uncurry version of case', and you can write like ... casesOrElse' clause.