X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTaskSimulation.dcl;h=b3870cfcd3bd5fa382a47b104acccfdbeae5c44c;hb=09b207a39b7791098daafd7d87c3ad9d3db3e19f;hp=16ceee4e22acf12948e3408bba2851a697afdddc;hpb=93cabbcd5d18b7b45d6f43a6ff39f94cfcb95522;p=mTask.git diff --git a/mTaskSimulation.dcl b/mTaskSimulation.dcl index 16ceee4..b3870cf 100644 --- a/mTaskSimulation.dcl +++ b/mTaskSimulation.dcl @@ -1,12 +1,15 @@ definition module mTaskSimulation -import iTasks.API.Core.Types import mTask -//:: Display a = Display a +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 -//derive class iTask Display -//instance zero State` +:: Display a = Display a + +derive class iTask Display eval :: (Main (Eval t p)) -> [String] | toString t :: State` = @@ -82,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` @@ -112,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 == ()