]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/TypeClassBug1.scl
Merge commit 'b3da313'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / TypeClassBug1.scl
1 import "JavaBuiltin" as Java\r
2 \r
3 importJava "org.simantics.scl.runtime.Lists" where\r
4     foldl :: (a -> b -> a) -> a -> [b] -> a\r
5 \r
6 class Additive a where\r
7     zero :: a\r
8     (+)  :: a -> a -> a    \r
9     \r
10     sum  :: [a] -> a\r
11     sum = foldl (+) zero    \r
12     \r
13 instance (Additive a, Additive b, Additive c) => Additive (a, b, c) where\r
14     zero = (zero, zero, zero)\r
15     (a0, b0, c0) + (a1, b1, c1) = (a0+a1, b0+b1, c0+c1)\r
16     \r
17 main = "OK"\r
18 --\r
19 OK