X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTaskSimulation.dcl;h=b3870cfcd3bd5fa382a47b104acccfdbeae5c44c;hb=71726cdfddd9dfa11395f10ef3b5af28613fd5a0;hp=5e502e23317b035edff2cbb41a79a67183eaf395;hpb=7a67ef5e2af69cb14011be201fe67f755b91a788;p=mTask.git diff --git a/mTaskSimulation.dcl b/mTaskSimulation.dcl index 5e502e2..b3870cf 100644 --- a/mTaskSimulation.dcl +++ b/mTaskSimulation.dcl @@ -2,7 +2,14 @@ definition module mTaskSimulation import mTask -instance zero State` +from Generics.gdynamic import :: Dyn, class dyn, generic toGenDynamic, generic fromGenDynamic +from GenPrint import class PrintOutput, :: PrintState +from Data.Maybe import :: Maybe +from iTasks import class iTask, generic gEditor, generic gDefault, generic gText, generic JSONEncode, generic JSONDecode, :: Task, :: Editor, :: JSONNode, :: TextFormat + +:: Display a = Display a + +derive class iTask Display eval :: (Main (Eval t p)) -> [String] | toString t :: State` = @@ -78,8 +85,6 @@ instance writePinD AnalogPin // ----- Interactive Simulation ----- // -derive class iTask DigitalPin, AnalogPin, Dyn, StateInterface, DisplayVar, Pin - simulate :: (Main (Eval a p)) -> Task () toView :: State` -> StateInterface mergeView :: State` StateInterface -> State` @@ -108,6 +113,6 @@ class stringQuotes t | type t :: (Code t p) -> Code t p instance stringQuotes String instance stringQuotes t -derive toGenDynamic (), MTask, DigitalPin, AnalogPin, Pin, [], Long //, Servo -derive fromGenDynamic (), MTask, DigitalPin, AnalogPin, Pin, [], Long //, Servo +derive toGenDynamic (), MTask, DigitalPin, AnalogPin, Pin, [], Long, UserLED //, Servo +derive fromGenDynamic (), MTask, DigitalPin, AnalogPin, Pin, [], Long, UserLED //, Servo instance == ()