aboutsummaryrefslogtreecommitdiff
path: root/Sil/Util/Parser.icl
diff options
context:
space:
mode:
authorCamil Staps2018-12-20 21:46:34 +0100
committerCamil Staps2018-12-20 21:48:37 +0100
commitbde9dfef3a80a155c83fd2e8570e782192aa8402 (patch)
tree5be65ca7d9767bfd5ba003fb9e693ea3ce5b39f3 /Sil/Util/Parser.icl
parentFix copy-paste in vim syntax (diff)
Bring up to date
Diffstat (limited to 'Sil/Util/Parser.icl')
-rw-r--r--Sil/Util/Parser.icl10
1 files changed, 8 insertions, 2 deletions
diff --git a/Sil/Util/Parser.icl b/Sil/Util/Parser.icl
index eb90408..95b0813 100644
--- a/Sil/Util/Parser.icl
+++ b/Sil/Util/Parser.icl
@@ -62,11 +62,17 @@ instance Functor (Parser a)
where
fmap f m = liftM f m
-instance Applicative (Parser a)
+instance pure (Parser a)
+where
+ pure a = Parser \st -> (Ok a, st)
+
+instance <*> (Parser a)
where
- pure a = Parser \st -> (Ok a, st)
(<*>) sf p = ap sf p
+instance <* (Parser a)
+instance *> (Parser a)
+
instance Monad (Parser a)
where
bind p f = Parser \st -> case runParser p (commit st) of