1{-# LANGUAGE Rank2Types #-}
20 forall result. (a -> IO result) -> (x -> IO result) -> IO result
24run :: Task x a -> IO (Either x a)
26 task (return . Right) (return . Left)
31 Task $ \_ err -> err x
41 Task $ \ok _ -> work >>= ok
44eio :: (x -> y) -> IO (Either x a) -> Task y a
50 Left x -> err (func x)
57instance Functor (Task x) where
59 fmap func (Task taskA) =
62 okA arg = ok (func arg)
67instance Applicative (Task x) where
73 (<*>) (Task taskFunc) (Task taskArg) =
78 okArg arg = ok (func arg)
85instance Monad (Task x) where
90 (>>=) (Task taskA) callback =
95 Task taskB -> taskB ok err
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