update a8
[ap2015.git] / a8 / mart / skeleton8.icl
1 module skeleton8
2
3 import StdList, StdInt, Data.Tuple, StdClass, iTasks._Framework.Generic, Text.JSON, Data.Functor, Control.Applicative, Control.Monad, Data.Void
4 import qualified iTasks
5 import qualified Text
6 from Text import class Text, instance Text String
7 from StdFunc import o
8 from StdTuple import fst
9 from Data.Map import :: Map, put, get, newMap
10 from Data.List import union, removeMember, instance Functor []
11 import qualified Data.List as List
12
13 // examples
14
15 /*expr1 :: Element
16 expr1 = integer 2
17
18 expr2 :: Element
19 expr2 = expr1 + expr1
20
21 expr3 :: Element
22 expr3 = expr1 + expr1 * integer 3
23
24 expr4 :: Set
25 expr4 = insert expr3 new
26
27 expr5 :: Set
28 expr5 =
29 x =. expr4 :.
30 variable x
31
32 expr6 :: Element
33 expr6 =
34 x =. insert (integer 11) new :.
35 x =. size (variable x) :.
36 variable x
37
38 expr7 :: Set
39 expr7 =
40 x =. insert (integer 11) new :.
41 y =. variable x
42
43 expr8 :: Set
44 expr8 =
45 x =. insert (integer 11) new :.
46 x =. insert (size (variable x)) (variable x) :.
47 variable x
48
49 expr9 :: Set
50 expr9 =
51 x =. insert (integer 0) new :.
52 IF (size (variable x) ==. integer 0) THEN
53 (x =. insert (integer 0) (variable x))
54 ELSE
55 (x =. delete (integer 0) (variable x)) :.
56 variable x
57
58 expr10 :: Set
59 expr10 =
60 z =. integer 7 :.
61 x =. new :.
62 x =. insert (variable z) (variable x) :.
63 y =. union (variable x) (variable x) :.
64 WHILE (size (variable x) <. integer 5) DO
65 (x =. insert (size (variable x)) (variable x)) :.
66 z =. difference (variable x) (intersection (variable x) (insert (variable z) new))
67
68 x = "x"
69 y = "y"
70 z = "z"*/
71
72 Start = "implement 'eval' function"//eval expr1