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

definition:
operator :: Parser String
operator = tokenBacktick *> ident <* tokenBacktick <!> op
 where
  op xs = let (ys,zs) = span (`elem` allowed) xs
          in if null ys || ys `elem` exceptions then [] else [(ys,zs)]
  allowed = "!#$%&*+./<=>?@\\^|-~:"
  exceptions = ["..", ":", "::", "=", "\\", "|", "<-", "->", "@", "~", "=>"]
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- A longest-match parser for an Operator
failfree:
()
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{() |-> {<!>._#lambda7}}
name:
operator
precedence:
no precedence defined
result-values:
{<!>._#lambda7}
signature:
String -> [(String, String)]
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term