1 --!!! this module supposedly includes one of each Haskell construct
5 module OneOfEverything (
10 EqTree(EqLeaf, EqBranch),
17 import OneA renaming ( fA to renamedA )
19 import OneC hiding ( fC )
20 import OneC hiding ( fC ) renaming ( fc to renamedC )
32 type Pair a b = (a, b)
34 data FooData = FooCon Int
36 data FooDataB = FooConB Double
38 data (Eq a) => EqTree a = EqLeaf a | EqBranch (EqLeaf a) (EqLeaf a)
40 class (Eq a) => EqClass a where
44 class (Ord a) => OrdClass a where
49 instance (Eq a) => EqClass (EqTree a) where
52 default (Integer, Rational)
58 bindwith :: (OrdClass a, OrdClass b) => a -> b -> b
64 (~(a,b,c)) | nullity b = a
72 mat a b c d | foof a b = d
83 + (1 - 'c' - "abc" - 1.293)
94 + [ z | z <- c, isSpace z ]
100 + (if 42 == 42.0 then 1 else 4)
107 f _ x 1 1.93 'c' "dog" ~y z@(Foo a b) (c `Bar` d) [1,2] (3,4) (n+42) = y
109 -- HsLit stuff -- done above
112 g :: (Num a, Eq b) => Foo a -> [b] -> (a,a,a) -> b