5import Control.Monad.Eff
7class (Monad m) <= MonadWriter w m where
10testFunctor :: forall m. (Monad m) => m Number -> m Number
11testFunctor n = (+) 1 <$> n
13test :: forall w m. (Monad m, MonadWriter w m) => w -> m {}
19data MTrace a = MTrace (Eff (trace :: Trace) a)
21runMTrace :: forall a. MTrace a -> Eff (trace :: Trace) a
22runMTrace (MTrace a) = a
24instance functorMTrace :: Functor MTrace where
27instance applyMTrace :: Apply MTrace where
30instance applicativeMTrace :: Applicative MTrace where
31 pure = MTrace <<< return
33instance bindMTrace :: Bind MTrace where
34 (>>=) m f = MTrace (runMTrace m >>= (runMTrace <<< f))
36instance monadMTrace :: Monad MTrace
38instance writerMTrace :: MonadWriter String MTrace where
39 tell s = MTrace (trace s)
41main = runMTrace $ test "Done"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list