+++ /dev/null
---!!! Print002.hs: printing various entities in prefix/infix forms
---!!! (both in various syntaxes & in interfaces)
-
-module Print002 where
-
--- type & data constructors
-
-data Foo a b c
- = MkFoo1 a a
- | (:##) b c
- | b `MkFoo3` b
- | c :*** c
- deriving (Eq, Ord)
-
--- classes and methods
-
-class Bar a where
- meth1, (/////) :: a -> a -> Bool
- meth2 :: a -> b -> Bool
-
-class (Bar a) => Bar2 a -- no methods
-
--- regular values (and uses of the above)
-
-f1 x y = x `MkFoo1` y
-x `f1a` y = MkFoo1 x y
-
-x `f2` y = (:##) x y
-f2a x y = x :## y
-
-(....) x y = MkFoo3 x y
-x ..... y = x `MkFoo3` y
-
-x <<<< y = x :*** y
-(<<<<) x y = (:***) x y
-
-f3a x y = meth1 x y
-f3b x y = x `meth1` y
-f3c x y = (/////) x y
-f3d x y = x ///// y