refactoors
[mTask.git] / mTaskSimulation.dcl
index 16ceee4..b3870cf 100644 (file)
@@ -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 ==   ()