CurryInfo: det-parse-3.0.0 / DetParse.<!>

definition: Info
 
(<!>) :: Parser a -> Parser a -> Parser a
p <!> q = \s -> case p s of
                  [] -> q s
                  xs -> xs
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Builds a parser that tries its first argument parser and alternatively, if
the first one does not succeed, its second argument parser. In contrast to
`<|>`, this combinator does not backtrack. The second parser is applied to
the leftovers of the first parser. Use it if the alternatives are mutually
exclusive.
failfree: Info
 (_, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 infixl
iotype: Info
 {(_,_) |-> {<!>._#lambda7}}
name: Info
 <!>
precedence: Info
 3
result-values: Info
 {<!>._#lambda7}
signature: Info
 (String -> [(a, String)]) -> (String -> [(a, String)]) -> String
-> [(a, String)]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 yes
totally-defined: Info
 reducible on all ground data terms