data Prop = Const Bool
| Var Char
| Not Prop
| And Prop Prop
| Imply Prop Prop
I am implementing the above data contructor with a minor addition,
data Prop = Const Bool
| Var Char
| Not Prop
| Or Prop Prop
| And Prop Prop
| Imply Prop Prop
When I try to make another data contructor below that uses the previously defined constructor,
data Formula = Const Bool
| Var Prop
| Not Formula
| And Formula Formula
| Or Formula Formula
| Imply Formula Formula
I get this error: "Multiple declarations of 'Const'"
The same error follows with Not, And, Imply, and Or. Why does Haskell not allow this?