X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTask.dcl;h=955b28ab3c0a93f356272310218f07f2f7feb3cd;hb=848595d1288804d6de43625f9e6f1cf76295c285;hp=9b824788f53941fe7650544de29d6039db4eac44;hpb=28f4e19f893889e6d19d8c0653a643ae1580fd6d;p=mTask.git diff --git a/mTask.dcl b/mTask.dcl index 9b82478..955b28a 100644 --- a/mTask.dcl +++ b/mTask.dcl @@ -14,10 +14,6 @@ todo: imporove setp: >>*. */ -import GenPrint -import Generics.gCons -import Generics.gdynamic - //import iTasks // //import iTasks._Framework.Generic @@ -26,6 +22,7 @@ import StdClass import GenEq, StdMisc, StdArray import mTaskCode, mTaskSimulation, mTaskInterpret +//import mTaskCode, mTaskInterpret import mTaskSerial, mTaskLCD // =================== mTask =================== @@ -66,7 +63,7 @@ instance == MTask unMain :: (Main x) -> x class arith v where - lit :: t -> v t Expr | toCode t & toByteCode t + lit :: t -> v t Expr | toCode t & mTaskType t (+.) infixl 6 :: (v t p) (v t q) -> v t Expr | type, +, zero t & isExpr p & isExpr q //& toExpr2 p & toExpr2 q (-.) infixl 6 :: (v t p) (v t q) -> v t Expr | type, -, zero t & isExpr p & isExpr q //& toExpr2 p & toExpr2 q (*.) infixl 7 :: (v t p) (v t q) -> v t Expr | type, *, zero, one t & isExpr p & isExpr q //& toExpr2 p & toExpr2 q @@ -93,10 +90,13 @@ class var2 v where class sds v where sds :: ((v t Upd)->In t (Main (v c s))) -> (Main (v c s)) | type, mTaskType, toCode t con :: ((v t Expr) ->In t (Main (v c s))) -> (Main (v c s)) | type t +class sdspub v where pub :: (v t Upd) -> v t Expr | type t class seq v where (>>=.) infixr 0 :: (v t p) ((v t Expr) -> (v u q)) -> (v u Stmt) | type t & type u (:.) infixr 0 :: (v t p) (v u q) -> v u Stmt | type t & type u +class retrn v where + retrn :: v () Expr class step` v where (>>*.) infixl 1 :: (v t p) ((v t Expr) -> [Step v u]) -> v u Stmt | type t & type u :: Step v t = E.p.q: Cond (v Bool q) (v t p) | E.p: Ever (v t p) @@ -214,9 +214,6 @@ instance long Eval Long // ----- tools ----- // -derive gPrint Pin, Button, UserLED, AnalogPin, DigitalPin, PinMode -derive class gCons Pin, Button, UserLED, AnalogPin, DigitalPin, PinMode - instance == DigitalPin instance == AnalogPin instance == UserLED