]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/SpecConstr1.scl
Merge commit '876ede6'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / SpecConstr1.scl
1 data Either a b = Left a | Right b\r
2 \r
3 data List a = Nil | Cons a (List a)\r
4 \r
5 data Nat = Zero | Succ Nat\r
6 \r
7 sum Zero a = a\r
8 sum a Zero = a\r
9 sum (Succ a) (Succ b) = Succ (Succ (sum a b))\r
10 \r
11 sum_append xs ys\r
12  = go Zero (Left xs)\r
13  where\r
14     go z (Left xs)\r
15       = match xs with\r
16         Nil -> go z (Right ys)\r
17         Cons x xs' -> go (sum x z) (Left xs')\r
18     go z (Right ys)\r
19       = match ys with\r
20         Nil -> z\r
21         Cons y ys' -> go (sum y z) (Right ys')\r
22 \r
23 main = "Hello world!"\r
24 --\r
25 Hello world!