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