X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTask.dcl;h=c7a6a3ae001ee549d93f681e4cd8b7656b7f77de;hb=8449be73c124cdccd37500c0d67d9404b94fc9c8;hp=d341ff79160fc8ce5ba5b9273b68899be9cc6b9c;hpb=e25fda18ca554ec3fe937152403872b916367ddb;p=mTask.git diff --git a/mTask.dcl b/mTask.dcl index d341ff7..c7a6a3a 100644 --- a/mTask.dcl +++ b/mTask.dcl @@ -14,14 +14,14 @@ todo: imporove setp: >>*. */ -//import iTasks +import iTasks + import iTasks._Framework.Generic -import iTasks._Framework.Task +from iTasks._Framework.Task import :: Task import StdClass -from iTasks.API.Core.Types import :: Display import gdynamic, gCons, GenEq, StdMisc, StdArray -import mTaskCode, mTaskSimulation +import mTaskCode, mTaskSimulation, mTaskInterpret import mTaskSerial, mTaskLCD // =================== mTask =================== @@ -61,7 +61,7 @@ instance == MTask unMain :: (Main x) -> x class arith v where - lit :: t -> v t Expr | toCode t + lit :: t -> v t Expr | toCode t & toByteCode 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 @@ -86,8 +86,9 @@ class var2 v where var2 :: t ((v t Upd)->(Main (v c s))) -> (Main (v c s)) | type, toCode t con2 :: t ((v t Expr) ->(Main (v c s))) -> (Main (v c s)) | type t class sds v where - sds :: ((v t Upd)->In t (Main (v c s))) -> (Main (v c s)) | type, toCode t + sds :: ((v t Upd)->In t (Main (v c s))) -> (Main (v c s)) | type, toByteCode, toCode t con :: ((v t Expr) ->In t (Main (v c s))) -> (Main (v c s)) | type t + 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 @@ -182,7 +183,7 @@ instance typeSelector a :: In a b = In infix 0 a b -read` :: Int (ReadWrite a) State -> (a,State) | dyn a +read` :: Int (ReadWrite a) State` -> (a,State`) | dyn a // ----- long ----- //