start with a7
[ap2015.git] / a7 / mart / skeleton7.icl
1 module skeleton7
2
3 from iTasks import always, hasValue, :: TaskValue(..), :: Task, :: Stability, :: TaskCont(..), :: Action, updateInformation, viewInformation, class descr, instance descr String, :: UpdateOption, :: ViewOption(..), -||-, -||, ||-, startEngine, class Publishable, >>*, class TFunctor, instance TFunctor Task, class TApplicative, instance TApplicative Task, instance Publishable Task, Void
4 import Data.Tuple, StdClass, StdList, iTasks._Framework.Generic, Text.JSON, Data.Functor, Control.Applicative, Control.Monad, Data.Map
5 import qualified iTasks
6 import qualified Text
7 from Text import class Text, instance Text String
8 from StdFunc import o
9
10 e = Insert New (Oper New +. (Union (Integer 7) (Size (Integer 9))))
11
12 :: Expression
13 = New
14 | Insert Element Set
15 | Delete Element Set
16 | Variable Ident
17 | Union Set Set
18 | Difference Set Set
19 | Intersection Set Set
20 | Integer Int
21 | Size Set
22 | Oper Element Op Element
23 | (=.) infixl 2 Ident Expression
24
25 :: Op = +. | -. | *.
26 :: Set :== Expression
27 :: Element :== Expression
28 :: Ident :== String
29
30 // === State
31
32
33 // === semantics
34
35
36 // === simulation
37 (>>>=) :== 'iTasks'.tbind
38 (>>>|) a b :== 'iTasks'.tbind a (\_ -> b)
39 treturn :== 'iTasks'.return
40 ActionOk :== 'iTasks'.ActionOk
41 ActionQuit :== 'iTasks'.ActionQuit
42 ActionNew :== 'iTasks'.ActionNew
43
44
45 Start = Void