Unlimited

libretto.CoreLib.Unlimited
object Unlimited

Attributes

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

Members list

Type members

Classlikes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def create[X, A](case0: X -⚬ One, case1: X -⚬ A, caseN: X -⚬ Unlimited[A] |*| Unlimited[A]): X -⚬ Unlimited[A]
def createWith[X, A, Y](case0: X -⚬ Y, case1: X -⚬ A |*| Y, caseN: X -⚬ Unlimited[A] |*| Unlimited[A] |*| Y): X -⚬ Unlimited[A] |*| Y
def createWith[X : Cosemigroup, A, Y : Semigroup](case0: X -⚬ Y, case1: X -⚬ A |*| Y): X -⚬ Unlimited[A] |*| Y
def discard[A]: Unlimited[A] -⚬ One
def fromComonoid[A](using A: Comonoid[A]): A -⚬ Unlimited[A]
def getFst[A]: Unlimited[A] -⚬ A |*| Unlimited[A]
def getSnd[A]: Unlimited[A] -⚬ Unlimited[A] |*| A
def getSome[A]: Unlimited[A] -⚬ A |*| Unlimited[A]
def map[A, B](f: A -⚬ B): Unlimited[A] -⚬ Unlimited[B]
def poolBy[A : Positive, Ā](lInvert: One -⚬ Ā |*| A): LList1[A] -⚬ Unlimited[A |*| Ā] |*| LList1[A]

Present a non-empty list of resources A as an unlimited supply of "borrowed" resources A ⊗ Ā, where Ā is the dual of A. A borrowed resource A ⊗ Ā must be "returned" by "annihilating" A and its dual Ā, namely via an inversion on the right A ⊗ Ā -⚬ One. A returned resource will become available for further use when it signals readiness using the Signaling.Positive instance.

Present a non-empty list of resources A as an unlimited supply of "borrowed" resources A ⊗ Ā, where Ā is the dual of A. A borrowed resource A ⊗ Ā must be "returned" by "annihilating" A and its dual Ā, namely via an inversion on the right A ⊗ Ā -⚬ One. A returned resource will become available for further use when it signals readiness using the Signaling.Positive instance.

When all accesses to the pooled resources (obtained via the Unlimited[A |*| Ā] in the first out-port) are closed, the resources are returned in the second out-port.

Attributes

def single[A]: Unlimited[A] -⚬ A
def unfold[S, A](f: S -⚬ A |*| S): S -⚬ Unlimited[A] |*| S
def zip[A, B]: Unlimited[A] |*| Unlimited[B] -⚬ Unlimited[A |*| B]

Givens

Givens

given comonoidUnlimited[A]: comonoidUnlimited[A]
given deferrableUnlimited[A]: deferrableUnlimited[A]

Signals when the choice is made between discard, single and split.

Signals when the choice is made between discard, single and split.

Attributes