CoreStreams

libretto.CoreStreams
See theCoreStreams companion object
class CoreStreams[DSL <: CoreDSL, Lib <: CoreLib[DSL]](val dsl: DSL, val lib: Lib & CoreLib[DSL])

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

object LDemanding

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object LPollable

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object LPolled

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
LPolled.type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Types

type LPollable[A] = Rec[[_] =>> LPollableF[A, _$1]]
type LPollableF[A, X] = Done |&| Done |+| A |*| X
type LPolled[A] = Done |+| A |*| LPollable[A]
type LSubscriber[A] = Rec[[_] =>> LSubscriberF[A, _$2]]
type LSubscriberF[A, X] = Need |+| Need |&| A |*| X

Value members

Concrete methods

def lInvertLPollable[A, B](lInvertElem: One -⚬ B |*| A): One -⚬ LPollable[A] |*| LSubscriber[B]
def lInvertLPollableF[A, B, x, y](lInvertA: One -⚬ B |*| A, lInvertSub: One -⚬ y |*| x): One -⚬ LPollableF[A, x] |*| LSubscriberF[B, y]
def rInvertLSubscriber[A, B](rInvertElem: A |*| B -⚬ One): LSubscriber[B] |*| LPollable[A] -⚬ One
def rInvertLSubscriberF[A, B, x, y](rInvertA: A |*| B -⚬ One, rInvertSub: x |*| y -⚬ One): LSubscriberF[B, y] |*| LPollableF[A, x] -⚬ One

Concrete fields

val dsl: DSL
val lib: Lib & CoreLib[DSL]

Implicits

Implicits

implicit def pollableSubscriberDuality[A, B](implicit BA: Dual[B, A]): Dual[LPollable[B], LSubscriber[A]]
implicit def subscriberPollableDuality[A, B](implicit AB: Dual[A, B]): Dual[LSubscriber[B], LPollable[A]]