More superclasses tests
commitde771342e880725e7c80a7f47057317c0d38630c
authorPhil Freeman <paf31@cantab.net>
dateSat 5 Apr 2014, 18:08 (13 years ago)
parent0d1f3de
examples/failing/Superclasses1.pursnew file+11
@@ -0,0 +1,11 @@
1+module Main where
2+
3+class Su a where
4+ su :: a -> a
5+
6+class (Su a) <= Cl a where
7+ cl :: a -> a -> a
8+
9+instance clNumber :: Cl Number where
10+ cl n m = n + m
11+
examples/passing/Superclasses.purs → examples/passing/Superclasses1.pursrenamed
The content is the same.
examples/passing/Superclasses2.pursnew file+20
@@ -0,0 +1,20 @@
1+module Main where
2+
3+class Su a where
4+ su :: a -> a
5+
6+class (Su [a]) <= Cl a where
7+ cl :: a -> a -> a
8+
9+instance suNumber :: Su Number where
10+ su n = n + 1
11+
12+instance suArray :: (Su a) => Su [a] where
13+ su (x : _) = [su x]
14+
15+instance clNumber :: Cl Number where
16+ cl n m = n + m
17+
18+test :: forall a. (Cl a) => a -> [a]
19+test x = su [cl x x]
20+