diff options
author | Camil Staps | 2016-05-18 22:36:36 +0200 |
---|---|---|
committer | Camil Staps | 2016-05-18 22:36:36 +0200 |
commit | 70d02f93b63f96ee8d0ac11898d14b001e2933f4 (patch) | |
tree | 702e71ce4febf47de264672ab344b0fe3a491330 /paper | |
parent | Opdracht 7 (diff) |
Minor stylistic While updates
Diffstat (limited to 'paper')
-rw-r--r-- | paper/While/.gitignore | 1 | ||||
-rw-r--r-- | paper/While/Simple.icl | 4 | ||||
-rwxr-xr-x | paper/While/SimpleTest | bin | 151472 -> 0 bytes | |||
-rw-r--r-- | paper/While/WhileLexer.icl | 2 | ||||
-rw-r--r-- | paper/While/Yard.dcl | 2 |
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 Binary files differdeleted file mode 100755 index 84f0fd0..0000000 --- a/paper/While/SimpleTest +++ /dev/null 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) |