X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=mTaskInterpret.dcl;h=32e7b9b17bc170db695a5123f9256ed5b804c206;hb=7a67ef5e2af69cb14011be201fe67f755b91a788;hp=557225f55d5d48579debbd260ab62ccd97de8725;hpb=34dfa724f02cd36ff31057ab71ba53ad57fabcb5;p=mTask.git diff --git a/mTaskInterpret.dcl b/mTaskInterpret.dcl index 557225f..32e7b9b 100644 --- a/mTaskInterpret.dcl +++ b/mTaskInterpret.dcl @@ -1,10 +1,12 @@ definition module mTaskInterpret +from Data.Functor.Identity import :: Identity +from Control.Monad.State import :: State, :: StateT import mTask :: BC = BCNop - | BCPush Int + | BCPush String | BCPop //Unary ops | BCNeg @@ -15,7 +17,7 @@ import mTask | BCMul | BCDiv -:: ByteCode a p = BC ((ReadWrite a) BCState -> ([BC], BCState)) +:: ByteCode a p = BC ((ReadWrite (ByteCode a Expr)) BCState -> ([BC], BCState)) :: BCState = { a::() }