]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Matching.scl
(refs #7307) Added features field to SCL module header
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / Matching.scl
1
2 data List a = Nil | Cons a (List a)
3
4 first :: List Integer -> Integer
5 //first Nil = 0 :: Integer
6 first (Cons x _) = x
7
8 reverse :: List a -> List a
9 reverse l = reverseAux Nil l 
10   where
11     reverseAux accum Nil = accum
12     reverseAux accum (Cons h t) = reverseAux (Cons h accum) t    
13
14 main :: Integer
15 main = first (reverse l) 
16   where
17     l = Cons (1 :: Integer) (Cons (2 :: Integer) (Cons (3 :: Integer) Nil))
18 --
19 3