]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Compose.scl
Merge commit '145a2884933f2ffdd48d6835729e58f1152d274e'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / Compose.scl
1 import "JavaBuiltin" as Java\r
2 \r
3 (+) = Java.iadd\r
4 (-) = Java.isub\r
5 (*) = Java.imul\r
6 \r
7 data List a = Nil | Cons a (List a) \r
8 \r
9 compose :: List (a -> a) -> a -> a\r
10 compose Nil        x = x\r
11 compose (Cons h t) x = compose t (h x)\r
12 \r
13 succ x = x + 1\r
14 prec x = x - 1\r
15 double x = x * 2\r
16 \r
17 f = compose (Cons succ (Cons double (Cons prec Nil)))\r
18 main = f 13\r
19 --\r
20 27