In SML the "nonfix" operator can be used like:
datatype Proposition = Not_ of Proposition
nonfix ~:
val ~: = Not_
In Haskell it would be like:
data Proposition = Not_ Proposition
nonfix ~
(~) = Not_
But I didn't find an equivalent to "nonfix" in Haskell.