]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/OverloadedArithmetic3.scl
Supply SVG text editor with element measurement context
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / OverloadedArithmetic3.scl
1 import "JavaBuiltin" as Java
2
3 infixl 7 (*)
4 infixl 6 (+)
5
6 class Additive a where 
7     (+) :: a -> a -> a    
8
9 class (Additive a) => Ring a where
10     (*) :: a -> a -> a
11
12 instance Additive Double where
13     x + y = Java.dadd x y
14
15 instance Ring Double where
16     x * y = Java.dmul x y
17
18 instance Additive Integer where
19     x + y = Java.iadd x y
20
21 instance Ring Integer where
22     x * y = Java.imul x y
23
24 main = (1.0 :: Double)*(2.0 :: Double)+(3.0 :: Double)*(4.0 :: Double)
25 --
26 14.0
27