CurryInfo: curry-interface-2.0.1 / CurryInterface.Parser.withOptionalKind

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