1 definition module mTaskInterpret
3 from Data.Functor.Identity import :: Identity
4 from Control.Monad.State import :: State, :: StateT
5 from Control.Monad.RWST import :: RWST, :: RWS
6 from Data.Either import :: Either
19 = MTTask MTaskInterval String
29 instance toString MTaskInterval
30 instance toString MTaskMSGRecv
31 instance toString MTaskMSGSend
32 encode :: MTaskMSGSend -> String
33 decode :: String -> MTaskMSGRecv
38 // | E.e: BCPush e & toByteCode e
61 //Conditionals and jumping
83 :: ByteCode a p = BC (RWS () [BC] BCState ())
99 class toByteCode a :: a -> String
100 class fromByteCode a :: String -> a
101 class mTaskType a | toByteCode, fromByteCode, TC a
103 instance toByteCode Int, Bool, Char, Long, String, Button, UserLED
104 instance fromByteCode Int, Bool, Char, Long, String, Button, UserLED
105 instance toByteCode MTaskInterval
106 instance fromByteCode MTaskInterval
109 instance arith ByteCode
110 instance boolExpr ByteCode
111 instance analogIO ByteCode
112 instance digitalIO ByteCode
113 instance userLed ByteCode
114 instance If ByteCode Stmt Stmt Stmt
115 instance If ByteCode e Stmt Stmt
116 instance If ByteCode Stmt e Stmt
117 instance If ByteCode x y Stmt
119 instance noOp ByteCode
121 instance sds ByteCode
122 instance assign ByteCode
123 instance seq ByteCode
124 instance serial ByteCode
126 toMessages :: MTaskInterval (String, BCState) -> ([MTaskMSGSend], BCState)
127 toSDSUpdate :: Int Int -> [MTaskMSGSend]
129 toByteVal :: BC -> String
130 toReadableByteCode :: (ByteCode a b) BCState -> (String, BCState)
131 toRealByteCode :: (ByteCode a b) BCState -> (String, BCState)