Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Proxy a' a b' b e = MkProxy (Coroutine a' a e) (Coroutine b b' e)
- type Pipe a = Proxy () a ()
- type Producer = Proxy Void () ()
- type Consumer a = Pipe a Void
- type Effect = Producer Void
- (>->) :: e1 :> es => (forall e. Proxy a' a () b e -> Eff (e :& es) r) -> (forall e. Proxy () b c' c e -> Eff (e :& es) r) -> Proxy a' a c' c e1 -> Eff es r
- (<-<) :: e1 :> es => (forall e. Proxy () b c' c e -> Eff (e :& es) r) -> (forall e. Proxy a' a () b e -> Eff (e :& es) r) -> Proxy a' a c' c e1 -> Eff es r
- for :: e1 :> es => (forall e. Proxy x' x b' b e -> Eff (e :& es) a') -> (b -> forall e. Proxy x' x c' c e -> Eff (e :& es) b') -> Proxy x' x c' c e1 -> Eff es a'
- (~>) :: e1 :> es => (a -> forall e. Proxy x' x b' b e -> Eff (e :& es) a') -> (b -> forall e. Proxy x' x c' c e -> Eff (e :& es) b') -> a -> Proxy x' x c' c e1 -> Eff es a'
- (<~) :: e1 :> es => (b -> forall e. Proxy x' x c' c e -> Eff (e :& es) b') -> (a -> forall e. Proxy x' x b' b e -> Eff (e :& es) a') -> a -> Proxy x' x c' c e1 -> Eff es a'
- reverseProxy :: Proxy a' a b' b e -> Proxy b b' a a' e
- (>~) :: e1 :> es => (forall e. Proxy a' a y' y e -> Eff (e :& es) b) -> (forall e. Proxy () b y' y e -> Eff (e :& es) c) -> Proxy a' a y' y e1 -> Eff es c
- (~<) :: e1 :> es => (forall e. Proxy () b y' y e -> Eff (e :& es) c) -> (forall e. Proxy a' a y' y e -> Eff (e :& es) b) -> Proxy a' a y' y e1 -> Eff es c
- cat :: Pipe a a e -> Eff (e :& es) r
- runEffect :: (forall e. Effect e -> Eff (e :& es) r) -> Eff es r
- yield :: e :> es => Proxy x1 x () a e -> a -> Eff es ()
- await :: e :> es => Proxy () a y' y e -> Eff es a
- next :: ()
- each :: Foldable f => f a -> Proxy x' x () a e -> Eff (e :& es) ()
- repeatM :: e :> es => Eff es a -> Proxy x' x () a e -> Eff es r
- replicateM :: e :> es => Int -> Eff es a -> Proxy x' x () a e -> Eff es ()
- print :: (e2 :> es, e1 :> es, Show a) => IOE e1 -> Consumer a e2 -> Eff es r
- unfoldr :: e :> es => (s -> Eff es (Either r (a, s))) -> s -> Proxy x1 x () a e -> Eff es r
- mapM_ :: e :> es => (a -> Eff es ()) -> Proxy () a b b' e -> Eff es r
- drain :: e :> es => Proxy () b c' c e -> Eff es r
- map :: e :> es => (a -> b) -> Pipe a b e -> Eff es r
- mapM :: e :> es => (a -> Eff es b) -> Pipe a b e -> Eff es r
- takeWhile' :: e :> es => (r -> Bool) -> Pipe r r e -> Eff es r
- stdinLn :: (e1 :> es, e2 :> es) => IOE e1 -> Producer String e2 -> Eff es r
- stdoutLn :: (e1 :> es, e2 :> es) => IOE e1 -> Consumer String e2 -> Eff es r