]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Fibonacci3.scl
Merge commit '5da68e7'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / Fibonacci3.scl
1 import "JavaBuiltin" as Java\r
2  \r
3 class Num a where\r
4     (+) :: a -> a -> a\r
5     (-) :: a -> a -> a\r
6 \r
7 instance Num Integer where\r
8     (+) = Java.iadd\r
9     (-) = Java.isub\r
10 \r
11 (<=) = Java.icmple\r
12 \r
13 fibonacci x = if x <= (1 :: Integer) \r
14               then 1 :: Integer\r
15               else fibonacci (x - (1 :: Integer)) \r
16                  + fibonacci (x - (2 :: Integer))\r
17 \r
18 main = fibonacci 10\r
19 --\r
20 89