It's not part of the Haskell standard, but as jamshidh mentions it is still possible in GHC. The caveat is that data constructors (not type constructors) must start with a colon:
{-# LANGUAGE TypeOperators #-}
data a + b = a :+ b
f :: a + b -> a
f (a :+ b) = a
g :: a + b -> b
g (a :+ b) = b