definition module mTaskSimulation
+import iTasks.API.Core.Types
import mTask
+//:: Display a = Display a
+
+//derive class iTask Display
+//instance zero State`
+
eval :: (Main (Eval t p)) -> [String] | toString t
-:: State =
- { tasks :: [(Int, State->State)]
+:: State` =
+ { tasks :: [(Int, State`->State`)]
, store :: [Dyn]
, dpins :: [(DigitalPin, Bool)]
, apins :: [(AnalogPin, Int)]
, millis:: Int
}
-state0 :: State
-
-//:: TaskSim :== (Int, State->State)
-:: Eval t p = E ((ReadWrite t) State -> (t, State))
-toS2S :: (Eval t p) -> (State->State)
+//:: TaskSim :== (Int, State`->State`)
+:: Eval t p = E ((ReadWrite t) State` -> (t, State`))
+toS2S :: (Eval t p) -> (State`->State`)
-unEval :: (Eval t p) -> ((ReadWrite t) State -> (t, State))
+unEval :: (Eval t p) -> ((ReadWrite t) State` -> (t, State`))
:: ReadWrite t = Rd | Wrt t | Updt (t->t)
instance + String
readPinA :: AnalogPin [(AnalogPin, Int)] -> Int
-writePinA :: AnalogPin Int State -> State
+writePinA :: AnalogPin Int State` -> State`
class readPinD p :: p [(DigitalPin,Bool)] [(AnalogPin,Int)] -> Bool
instance readPinD DigitalPin
instance readPinD AnalogPin
-class writePinD p :: p Bool State -> State
+class writePinD p :: p Bool State` -> State`
instance writePinD DigitalPin
instance writePinD AnalogPin
derive class iTask DigitalPin, AnalogPin, Dyn, StateInterface, DisplayVar, Pin
simulate :: (Main (Eval a p)) -> Task ()
-toView :: State -> StateInterface
-mergeView :: State StateInterface -> State
+toView :: State` -> StateInterface
+mergeView :: State` StateInterface -> State`
:: StateInterface =
{ serialOut :: Display [String]
, analogPins :: [(AnalogPin, Int)]
| LCD16x2 String String
| DisplayVar [String]
-step` :: State -> State
+step` :: State` -> State`
class stringQuotes t | type t :: (Code t p) -> Code t p
instance stringQuotes String