summaryrefslogtreecommitdiff
path: root/paper
diff options
context:
space:
mode:
authorCamil Staps2016-05-18 22:36:36 +0200
committerCamil Staps2016-05-18 22:36:36 +0200
commit70d02f93b63f96ee8d0ac11898d14b001e2933f4 (patch)
tree702e71ce4febf47de264672ab344b0fe3a491330 /paper
parentOpdracht 7 (diff)
Minor stylistic While updates
Diffstat (limited to 'paper')
-rw-r--r--paper/While/.gitignore1
-rw-r--r--paper/While/Simple.icl4
-rwxr-xr-xpaper/While/SimpleTestbin151472 -> 0 bytes
-rw-r--r--paper/While/WhileLexer.icl2
-rw-r--r--paper/While/Yard.dcl2
5 files changed, 5 insertions, 4 deletions
diff --git a/paper/While/.gitignore b/paper/While/.gitignore
new file mode 100644
index 0000000..f630b81
--- /dev/null
+++ b/paper/While/.gitignore
@@ -0,0 +1 @@
+SimpleTest
diff --git a/paper/While/Simple.icl b/paper/While/Simple.icl
index 84ffce7..4c226c9 100644
--- a/paper/While/Simple.icl
+++ b/paper/While/Simple.icl
@@ -16,12 +16,12 @@ where
instance run Stm
where
run (Ass v e) st
- = eval e st >>= \r -> pure (\w -> if (w==v) (pure r) (st w))
+ = pure (\w -> if (w==v) (eval e st) (st w))
run (If b s1 s2) st
= eval b st >>= \r -> run (if r s1 s2) st
run w=:(While b s) st
= eval b st >>= \r -> if r
- (run s st >>= \st` -> run w st`)
+ (run s st >>= run w)
(pure st)
run Skip st
= pure st
diff --git a/paper/While/SimpleTest b/paper/While/SimpleTest
deleted file mode 100755
index 84f0fd0..0000000
--- a/paper/While/SimpleTest
+++ /dev/null
Binary files differ
diff --git a/paper/While/WhileLexer.icl b/paper/While/WhileLexer.icl
index 458f260..deb7fcd 100644
--- a/paper/While/WhileLexer.icl
+++ b/paper/While/WhileLexer.icl
@@ -45,7 +45,7 @@ lex ['/':cs] = lexyield DivToken cs
lex ['(':cs] = lexyield ParenOpen cs
lex [')':cs] = lexyield ParenClose cs
lex cs=:[c:rest]
- | isAlpha c = let (id, cs`) = span isAlpha cs in
+ | isAlpha c = let (id, cs`) = span isAlpha cs in
lexyield (VarToken (toString id)) cs`
| isDigit c = let (lit, cs`) = span isDigit cs in
lexyield (LiteralToken (toInt lit)) cs`
diff --git a/paper/While/Yard.dcl b/paper/While/Yard.dcl
index 1fcbfea..f848666 100644
--- a/paper/While/Yard.dcl
+++ b/paper/While/Yard.dcl
@@ -11,7 +11,7 @@ import Common
:: Parser a b = Parser ([a] -> (Either Error b, [a]))
instance Functor (Parser a)
-instance Applicative (Parser a)
+instance Applicative (Parser a)
instance Monad (Parser a)
instance Alternative (Parser a)