]> gerrit.simantics Code Review - simantics/platform.git/blob - LocalDefinitions2.scl
3bd0f21df8b2a92eb3bb9413585545aee5d0d238
[simantics/platform.git] / LocalDefinitions2.scl
1
2 data List a = Nil | Cons a (List a)
3
4 hasEvenLength :: List a -> Boolean
5 hasEvenLength l = do 
6     even Nil        = True
7     even (Cons _ t) = odd t
8     odd  Nil        = False
9     odd  (Cons _ t) = even t
10     even l
11
12 main = hasEvenLength (Cons (1 :: Integer) (Cons (2 :: Integer) (Cons (3 :: Integer) (Cons (4 :: Integer) Nil))))
13 --
14 true