> import Data.Either > type (:|:) a b = Either a b > (???) = either > > foo :: (Int :|: Bool :|: String :|: Double) -> Int > foo = > \ i -> i + 7 ??? > \ b -> if b then 1 else 0 ??? > \ s -> length s ??? > \ d -> floor d
INFIX TYPE OPERATORS!!??! O_________________________________________O _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe