(¬) :: 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?

¬ :: Bool → Bool -- parser error on input **
¬ q = not q -- parser error on input **

Cetin Sert