summaryrefslogtreecommitdiff
path: root/src/gen_lib/state.lem
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen_lib/state.lem')
-rw-r--r--src/gen_lib/state.lem6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gen_lib/state.lem b/src/gen_lib/state.lem
index ce3be419..f9404416 100644
--- a/src/gen_lib/state.lem
+++ b/src/gen_lib/state.lem
@@ -1,12 +1,12 @@
open import Pervasives
-type M 's 'a = <| runState : 's -> ('a * 's) |>
+type M 's 'a = 's -> ('a * 's)
val return : forall 's 'a. 'a -> M 's 'a
-let return a = <| runState = (fun s -> (a,s)) |>
+let return a = fun s -> (a,s)
val bind : forall 's 'a 'b. M 's 'a -> ('a -> M 's 'b) -> M 's 'b
-let bind m f = <| runState = (fun s -> let (a,s) = m.runState s in (f a).runState s) |>
+let bind m f s = let (a,s') = m s in f a s'
let (>>=) = bind
let (>>) m n = m >>= fun _ -> n