definition:
|
withOptionalKind :: (a -> Maybe KindExpr -> b) -> Parser a -> Parser b
withOptionalKind c p = withKind <|> withoutKind
where
withKind =
c <$> (tokenParenL *> p) <*!*> (tokenTyping *!*> (Just <$> kind) <* tokenParenR)
withoutKind = c <$> p <*> yield Nothing
|
demand:
|
no demanded arguments
|
deterministic:
|
deterministic operation
|
failfree:
|
(_, _)
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{(_,_) |-> {<|>._#lambda6}}
|
name:
|
withOptionalKind
|
precedence:
|
no precedence defined
|
result-values:
|
{<|>._#lambda6}
|
signature:
|
(a -> Prelude.Maybe CurryInterface.Types.KindExpr -> b) -> (String
-> [(a, String)]) -> String -> [(b, String)]
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
reducible on all ground data terms
|