test(std): removed hack unneeded as of gluon-lang#710
@@ -23,9 +23,6 @@ let right_identity x : [Eq a] -> [Show a] -> a -> _ = \_ ->
assert_eq (eval_state_t (mx >>= wrap) s) (eval_state_t mx s)
let associativity ?mo mx f g : [Monad m] -> [Show (m a)] -> [Eq (m a)] -> m a -> _ -> _ -> _ = \_ ->
- // NOTE necessary because implicit records are currently only traversed one level
- let functor = mo.applicative.functor
-
let mx : StateT _ m _ = wrap_monad mx
let s = ()
assert_eq (eval_state_t ((mx >>= f) >>= g) s) (eval_state_t (mx >>= (\x -> f x >>= g)) s)
@@ -46,8 +43,8 @@ group "statet" [
test "put get run_state_t" <| \_ -> (assert_eq (run_state_t (put "hello" *> get) "") <| Some {value = "hello", state = "hello"}),
test "gets eval_state_t" <| \_ -> (assert_eq (eval_state_t (gets <| (::) 1) (2 :: 3 :: Nil)) <| Some (1 :: 2 :: 3 :: Nil)),
],
+ // TODO
// should this be moved to std.transformer?
-// StateT s m -> m -> f : (m a -> m b)
// group "StateT s m has effects of monad m" [
// test "Option", <| \_ -> (assert_eq
// test "List", <| \_ -> (assert_eq
