from Data.Functor.Identity import :: Identity
from Control.Monad.State import :: State, :: StateT
-from Data.Monoid import class Semigroup, class Monoid
+from Control.Monad.RWST import :: RWST, :: RWS
+from Data.Either import :: Either
import mTask
:: MTaskMSGRecv
derive gPrint BC
derive class gCons BC
-:: ByteCode a p = BC (BCState -> ([BC], BCState))
-instance Semigroup (ByteCode a p)
-instance Monoid (ByteCode a p)
+:: ByteCode a p = BC (RWS () [BC] BCState ())
:: BCShare = {
sdsi :: Int,
class toByteCode a :: a -> String
class fromByteCode a :: String -> a
-class mTaskType a | toByteCode, fromByteCode, zero a
+class mTaskType a | toByteCode, fromByteCode a
instance toByteCode Int, Bool, Char, Long, String, Button, UserLED
instance fromByteCode Int, Bool, Char, Long, String, Button, UserLED
toSDSUpdate :: Int Int -> [MTaskMSGSend]
toByteVal :: BC -> String
-toReadableByteCode :: (ByteCode a b) -> (String, BCState)
+toReadableByteCode :: (ByteCode a b) BCState -> (String, BCState)
toRealByteCode :: (ByteCode a b) BCState -> (String, BCState)