Fix not master
authorLuke Lau <luke_lau@icloud.com>
Sat, 1 Dec 2018 16:17:02 +0000 (16:17 +0000)
committerLuke Lau <luke_lau@icloud.com>
Sat, 1 Dec 2018 16:17:02 +0000 (16:17 +0000)
Main.hs
Programs.hs
boolNot.prog [new file with mode: 0644]
fibonacci.prog [new file with mode: 0644]
ttdb.cabal

diff --git a/Main.hs b/Main.hs
index ce81efbf040934b5fe250d8c21d82ff43283969f..951f38865fc5268e36ffa58d81d6db9c227b77ce 100644 (file)
--- a/Main.hs
+++ b/Main.hs
@@ -70,7 +70,7 @@ eval (Div e0 e1) = evali div e0 e1
 eval (And e0 e1) = evalb (&&) e0 e1
 eval (Or e0 e1) = evalb (||) e0 e1
 
-eval (Not e0  ) = evalb (const not) e0 (Const (B True))
+eval (Not e) = evalb (const not) (Const (B True)) e
 
 eval (Eq e0 e1) = evalib (==) e0 e1
 eval (Gt e0 e1) = evalib (>) e0 e1
@@ -155,6 +155,7 @@ menu = do
     "r increment" -> debugProg increment
     "r tryCatch" -> debugProg tryCatch
     "r fibonacci" -> debugProg fibonacci
+    "r boolNot" -> debugProg boolNot
     ('r':' ':file) -> read <$> readFile file >>= debugProg
     x -> printUnknown x >> menu
 
index 14f066bb17c4c8a74d4f0b57bf75f9ff54177c66..3f05aaa24da2b35ef94b1eeea4a62d60b9127bd1 100644 (file)
@@ -24,3 +24,6 @@ fibonacci = Seq (Assign "n" (Const (I 5)))
                                       (Seq (Assign "x" (Add (Var "x") (Var "y")))
                                             (Seq (Assign "y" (Var "x"))
                                                  (Assign "n" (Sub (Var "n") (Const (I 1))))))))))
+
+boolNot :: Statement
+boolNot = Print (Not (Const (B False)))
diff --git a/boolNot.prog b/boolNot.prog
new file mode 100644 (file)
index 0000000..588a57e
--- /dev/null
@@ -0,0 +1 @@
+Print !False
\ No newline at end of file
diff --git a/fibonacci.prog b/fibonacci.prog
new file mode 100644 (file)
index 0000000..501caf8
--- /dev/null
@@ -0,0 +1 @@
+Seq (Assign "n" 5) (Seq (Assign "x" 1) (Seq (Assign "y" 0) (While n > 0 (Seq (Assign "tmp" x) (Seq (Assign "x" x + y) (Seq (Assign "y" x) (Assign "n" n - 1)))))))
\ No newline at end of file
index de59cfa42c8b5a653c278786c12206e1dda9d108..ff83079c4bee26ba3162c5a426588211f8ceebb0 100644 (file)
@@ -7,7 +7,7 @@ author:              Luke Lau
 maintainer:          luke_lau@icloud.com
 category:            Development
 build-type:          Simple
-extra-source-files:  stack.yaml, README.md
+extra-source-files:  stack.yaml, README.md, *.prog
 cabal-version:       >=1.10
 
 executable ttdb