Sink

libretto.lambda.Sink
See theSink companion object
sealed trait Sink[-->[_, _], <+>[_, _], A, B]

A collection of arrows of the form Ai --> B, where A is composed of Ais via binary sums <+>, e.g. A = A1 <+> ((A2 <+> A3) <+> A4).

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Arrow[-->, <+>, A, B]
class Join[-->, <+>, A1, A2, B]

Members list

Value members

Concrete methods

def <+>[X](that: Sink[-->, <+>, X, B]): Sink[-->, <+>, A <+> X, B]
def map[->>[_, _]](g: [x] => (x --> B) => ->>[x, B]): Sink[->>, <+>, A, B]
def reduce(g: [x, y] => (x$1: x --> B, x$2: y --> B) => (x <+> y) --> B): A --> B
def reduceM[M[_] : Applicative](g: [x, y] => (x$1: x --> B, x$2: y --> B) => M[(x <+> y) --> B]): M[A --> B]
def traverse[G[_] : Applicative, ->>[_, _]](g: [x] => (x --> B) => G[->>[x, B]]): G[Sink[->>, <+>, A, B]]