]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/InstanceHierarchy.scl
Merge commit '876ede6'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / InstanceHierarchy.scl
1 import "Prelude" hiding (zero, one)\r
2 \r
3 class MyAdditive a where\r
4     zero :: a\r
5     \r
6 class (MyAdditive a) => MyRing a where\r
7     one :: a\r
8 \r
9 instance MyAdditive Integer where\r
10     zero = 0\r
11 \r
12 instance MyRing Integer where\r
13     one = 1\r
14     \r
15 data Poly a = Poly [a]\r
16 \r
17 instance (MyAdditive a) => MyAdditive (Poly a) where\r
18     zero = Poly []\r
19 \r
20 instance (MyRing a) => MyRing (Poly a) where\r
21     one = Poly [one]\r
22     \r
23 main :: Poly Integer\r
24 main = one\r
25 --\r
26 [1]