1 definition module mTaskCode
5 class toCode a :: a -> String
14 instance toCode String
15 instance toCode DigitalPin
16 instance toCode AnalogPin
17 instance toCode UserLED
19 argType :: (((Code a p)->Code b q)->In ((Code a p)->Code b q) (Code c s)) -> a | type a
21 class argTypes t :: ((t->Code b Expr)->In (t->Code b2 q) (Main (Code c s))) -> t
22 instance argTypes (Code a p) | showType a
23 instance argTypes (Code a p, Code b q) | showType a & showType b
24 instance argTypes (Code a p, Code b q, Code c r) | showType a & showType b & showType c
26 instance toCode (SV t)
29 instance boolExpr Code
30 instance If Code Stmt Stmt Stmt
31 instance If Code e Stmt Stmt
32 instance If Code Stmt e Stmt
33 instance If Code x y Expr
37 defCode :: ((Code t p) -> In t (Main (Code u q))) -> Main (Code u r) | type t
39 var :: String (ReadWrite (Code v q)) CODE -> CODE
44 codeSteps :: [Step Code t] -> Code u p
45 optBreak :: Mode -> Code u p
47 instance setDelay Code
48 instance mtask Code a | taskImp2 a & types a
49 instance mtasks Code a b | taskImp2 a & types a & taskImp2 b & types b
51 loopCode :: Int (Code a b) -> Code c d
53 class taskImp2 a :: Int a -> ((Code Long p) a->Code MTask Expr, a) | /*long Code delay &*/ isExpr p
55 instance taskImp2 (Code t p)
56 instance taskImp2 (Code a p, Code b q)
57 instance taskImp2 (Code a p, Code b q, Code c r)
58 instance taskImp2 (Code a p, Code b q, Code c r, Code d s)
60 class taskImp a :: Int a -> (Int a->Code MTask Expr, a)
62 instance taskImp (Code t p)
63 instance taskImp (Code a p, Code b q)
64 instance taskImp (Code a p, Code b q, Code c r)
65 instance taskImp (Code a p, Code b q, Code c r, Code d s)
67 tasksMain :: Int Int ((a->Code MTask Expr,b->Code MTask Expr) -> In (a->Code c d,b->Code e f) (Main (Code g h))) -> Main (Code i j) | taskImp a & types a & taskImp b & types b
70 instance types (Code a p) | typeSelector a & isExpr p
71 instance types (Code a p, Code b q) | typeSelector a & isExpr p & typeSelector b & isExpr q
72 instance types (Code a p, Code b q, Code c r) | typeSelector a & isExpr p & typeSelector b & isExpr q & typeSelector c & isExpr r
73 instance types (Code a p, Code b q, Code c r, Code d s) | typeSelector a & isExpr p & typeSelector b & isExpr q & typeSelector c & isExpr r & typeSelector d & isExpr s
75 codeMTaskBody :: (Code v w) (Code c d) -> Code e f
77 instance fun Code (Code t p) | type, showType t & isExpr p
78 instance fun Code (Code a p, Code b q) | showType a & showType b
79 instance fun Code (Code a p, Code b q, Code c r) | showType a & showType b & showType c
82 instance digitalIO Code
85 instance analogIO Code
88 :: Code a p = C ((ReadWrite (Code a Expr)) CODE -> CODE)
100 , includes :: [String]
106 unC :: (Code a p) -> ((ReadWrite (Code a Expr)) CODE -> CODE)
108 :: Def = Var | Fun | Setup | Loop
109 :: Mode = /*MainMode |*/ NoReturn | Return String | SubExp | Assign String
111 setMode :: Mode -> Code a p
112 getMode :: (Mode -> Code a p) -> Code a p
113 embed :: (Code a p) -> Code a p
114 (+.+) infixl 5 :: (Code a p) (Code b q) -> Code c r
115 fresh :: (Int -> (Code a p)) -> (Code a p)
116 freshMTask :: (Int -> (Code a p)) -> (Code a p)
117 setCode :: Def -> (Code a p)
118 getCode :: (Def -> Code a p) -> (Code a p)
119 brac :: (Code a p) -> Code b q
120 funBody :: (Code a p) -> Code b q
121 codeOp2 :: (Code a p) String (Code b q) -> Code c r
122 include :: String -> Code a b
123 argList :: [a] -> String | toCode a
124 c :: a -> Code b p | toCode a
128 setBinds :: [String] -> Code a p
129 addBinds :: String -> Code a p
130 getBinds :: ([String] -> Code a p) -> (Code a p)
132 // ----- driver ----- //
134 compile :: (Main (Code a p)) -> [String]
135 mkset :: [a] -> [a] | Eq a