summaryrefslogtreecommitdiff
path: root/files/practicum/RefactorXX.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'files/practicum/RefactorXX.dcl')
-rw-r--r--files/practicum/RefactorXX.dcl26
1 files changed, 0 insertions, 26 deletions
diff --git a/files/practicum/RefactorXX.dcl b/files/practicum/RefactorXX.dcl
deleted file mode 100644
index 4b7748f..0000000
--- a/files/practicum/RefactorXX.dcl
+++ /dev/null
@@ -1,26 +0,0 @@
-definition module RefactorXX
-
-:: Expr = NR Int
- | VAR Name
- | OP Expr Operator Expr
- | LET Name Expr Expr
-:: Name :== String
-:: Operator = PLUS | MIN | MUL | DIV
-:: Val a = Result a | Undef
-
-class fail c :: c a
-class return c :: a -> c a
-class (>>=) infix 0 c :: (c a) (a -> c b) -> c b
-class Monad c | return, >>= c
-class MonadFail c | Monad, fail c
-
-instance fail [], Val
-instance return [], Val
-instance >>= [], Val
-
-from StdClass import class toString
-
-instance toString Expr
-free :: Expr -> [Name]
-remove_unused_lets :: Expr -> Expr
-eval :: Expr -> c Int | MonadFail c