definition: |
(<*>) :: Parser (a -> b) -> Parser a -> Parser b p <*> q = \s -> [ (f x, s2) | (f, s1) <- p s, (x, s2) <- q s1 ] |
demand: |
no demanded arguments |
deterministic: |
deterministic operation |
documentation: |
Applies the function returned by the first parser to the result of the second parser. Applies the parsers in order. |
failfree: |
(_, _) |
indeterministic: |
referentially transparent operation |
infix: |
infixl |
iotype: |
{(_,_) |-> {<*>._#lambda10}} |
name: |
<*> |
precedence: |
4 |
result-values: |
{<*>._#lambda10} |
signature: |
(String -> [(a -> b, String)]) -> (String -> [(a, String)]) -> String -> [(b, String)] |
solution-complete: |
operation might suspend on free variables |
terminating: |
yes |
totally-defined: |
reducible on all ground data terms |