Added op2type function
[cc1516.git] / RWST.icl
index 9caa0e6..712f71e 100644 (file)
--- a/RWST.icl
+++ b/RWST.icl
@@ -4,7 +4,6 @@ from StdFunc import o
 import StdTuple
 
 from Data.Func import $
-import Data.Void
 import Data.Functor.Identity
 import Data.Functor
 import Data.Monoid
@@ -73,8 +72,8 @@ asks :: (r -> a) -> RWST r w s m a | Monoid w & Monad m
 asks f = ask >>= \r->pure $ f r
 
 // Writer operations
-tell :: w -> RWST r w s m Void | Monoid w & Monad m
-tell w = RWST \_ s->pure (Void, s,w)
+tell :: w -> RWST r w s m () | Monoid w & Monad m
+tell w = RWST \_ s->pure ((), s,w)
 
 listen :: (RWST r w s m a) -> RWST r w s m (a, w) | Monoid w & Monad m
 listen m = RWST \r s->runRWST m r s >>= \(a, s`, w)->pure ((a, w), s`, w)
@@ -92,10 +91,10 @@ censor f m = pass $ m >>= \a->pure (a, f)
 get :: RWST r w s m s | Monoid w & Monad m
 get = RWST \_ s->pure (s, s, mempty)
 
-put :: s -> RWST r w s m Void | Monoid w & Monad m
-put s = RWST \_ _->pure (Void, s, mempty)
+put :: s -> RWST r w s m () | Monoid w & Monad m
+put s = RWST \_ _->pure ((), s, mempty)
 
-modify :: (s -> s) -> RWST r w s m Void | Monoid w & Monad m
+modify :: (s -> s) -> RWST r w s m () | Monoid w & Monad m
 modify f = get >>= \s->put $ f s
  
 gets :: (s -> a) -> RWST r w s m a | Monoid w & Monad m