]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/OverloadedArithmetic2.scl
Merge commit 'a2a4242'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / OverloadedArithmetic2.scl
1 import "JavaBuiltin" as Java\r
2 \r
3 infixl 6 (+)\r
4 \r
5 class Additive a where \r
6     (+)  :: a -> a -> a    \r
7     \r
8 instance Additive Double where\r
9     x + y = Java.dadd x y\r
10 \r
11 instance Additive Integer where\r
12     x + y = Java.iadd x y\r
13     \r
14 instance (Additive a, Additive b) => Additive (a,b) where\r
15     (x1,y1) + (x2,y2) = (x1+x2,y1+y2)\r
16     \r
17 main = (1.0::Double,3::Integer) + (2.0::Double,4::Integer)\r
18 --\r
19 (3.0,7)\r
20 \r