1 definition module mTaskInterpret
3 from Data.Functor.Identity import :: Identity
4 from Control.Monad.State import :: State, :: StateT
5 from Data.Monoid import class Semigroup, class Monoid
18 = MTTask MTaskInterval String
28 instance toString MTaskInterval
29 instance toString MTaskMSGRecv
30 instance toString MTaskMSGSend
31 encode :: MTaskMSGSend -> String
32 decode :: String -> MTaskMSGRecv
37 // | E.e: BCPush e & toByteCode e
60 //Conditionals and jumping
83 :: ByteCode a p = BC (BCState -> ([BC], BCState))
84 instance Semigroup (ByteCode a p)
85 instance Monoid (ByteCode a p)
100 class toByteCode a :: a -> String
101 class fromByteCode a :: String -> a
102 class mTaskType a | toByteCode, fromByteCode, zero a
104 instance toByteCode Int, Bool, Char, Long, String, Button, UserLED
105 instance fromByteCode Int, Bool, Char, Long, String, Button, UserLED
106 instance toByteCode MTaskInterval
107 instance fromByteCode MTaskInterval
110 instance arith ByteCode
111 instance boolExpr ByteCode
112 instance analogIO ByteCode
113 instance digitalIO ByteCode
114 instance userLed ByteCode
115 instance If ByteCode Stmt Stmt Stmt
116 instance If ByteCode e Stmt Stmt
117 instance If ByteCode Stmt e Stmt
118 instance If ByteCode x y Stmt
120 instance noOp ByteCode
122 instance sds ByteCode
123 instance assign ByteCode
124 instance seq ByteCode
125 instance serial ByteCode
127 toMessages :: MTaskInterval (String, BCState) -> ([MTaskMSGSend], BCState)
128 toSDSUpdate :: Int Int -> [MTaskMSGSend]
130 toByteVal :: BC -> String
131 toReadableByteCode :: (ByteCode a b) -> (String, BCState)
132 toRealByteCode :: (ByteCode a b) BCState -> (String, BCState)