]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Matching.scl
Merge commit '31664b6'
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / Matching.scl
1 \r
2 data List a = Nil | Cons a (List a)\r
3 \r
4 first :: List Integer -> Integer\r
5 //first Nil = 0 :: Integer\r
6 first (Cons x _) = x\r
7 \r
8 reverse :: List a -> List a\r
9 reverse l = reverseAux Nil l \r
10   where\r
11     reverseAux accum Nil = accum\r
12     reverseAux accum (Cons h t) = reverseAux (Cons h accum) t    \r
13 \r
14 main :: Integer\r
15 main = first (reverse l) \r
16   where\r
17     l = Cons (1 :: Integer) (Cons (2 :: Integer) (Cons (3 :: Integer) Nil))\r
18 --\r
19 3