[Haskell-cafe] non-alphabetical mathematical symbols as non-infix function names

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Tue Jan 22 05:40:21 EST 2008


On Tue, 2008-01-22 at 07:03 +0100, Cetin Sert wrote:
> (¬) :: Bool → Bool
> (¬) q = not q
> 
> q = True
> ¬ q : parser error on input
> q ¬ : parser error (possibly incorrect indentation)
> (¬ q) : Couldn't match expected type `Bool -> t' against inferred type
> `Bool' In the expression: (� True) In the definition of `it': it = (�
> True) * 
> (q ¬) : False
> 
> (Why) is it not possible to define a (non-infix) function whose name
> consists of a single non-alphabetical mathematical symbol?

Haskell does not support user-defined unary prefix operators, only
infix. The only one is prefix negation -n.

Duncan



More information about the Haskell-Cafe mailing list