Attributes
Members list
Type members
Classlikes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AcquiredLock.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Bifunctor.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait CloseableCosemigroup[A]object closeableCosemigroupDone.type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CloseableCosemigroup.type
A weaker version of Comonoid where the input cannot be discarded completely, but can be reduced to a signal traveling in the positive direction (Done) that eventually needs to be awaited.
A weaker version of Comonoid where the input cannot be discarded completely, but can be reduced to a signal traveling in the positive direction (Done) that eventually needs to be awaited.
The dual of NMonoid.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object closeableCosemigroupDone.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Compared.type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ContraExternalizer.type
Contravariant functor from category -⚬ to the category =>
of Scala functions. It takes a morphism A -⚬ B
internal to the DSL and maps it to a morphism F[B] => F[A]
in the meta language (Scala), i.e. external to the DSL.
Contravariant functor from category -⚬ to the category =>
of Scala functions. It takes a morphism A -⚬ B
internal to the DSL and maps it to a morphism F[B] => F[A]
in the meta language (Scala), i.e. external to the DSL.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ContraFunctor.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Deferrable.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Deferred.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Detained.type
Evidence that A
flowing in one direction is equivalent to to B
flowing in the opposite direction. It must hold that
Evidence that A
flowing in one direction is equivalent to to B
flowing in the opposite direction. It must hold that
┏━━━━━┓ ┏━━━━━┓
┞─┐ r ┃ ┃ l ┞─┐
╎A│ I ┃ ┃ I ╎B│
┟─┘ n ┃ ┃ n ┟─┘
┏━━━━━┫ v ┃ ┏━━━━━━━━━┓ ┃ v ┣━━━━━┓ ┏━━━━━━━━━┓
┃ l ┞─┐ e ┃ ┞─┐ ┞─┐ ┃ e ┞─┐ r ┃ ┞─┐ ┞─┐
┃ I ╎B│ r ┃ = ╎A│ id[A] ╎A│ ┃ r ╎A│ I ┃ = ╎B│ id[B] ╎B│
┃ n ┟─┘ t ┃ ┟─┘ ┟─┘ ┃ t ┟─┘ n ┃ ┟─┘ ┟─┘
┃ v ┣━━━━━┛ ┗━━━━━━━━━┛ ┗━━━━━┫ v ┃ ┗━━━━━━━━━┛
┃ e ┞─┐ ┞─┐ e ┃
┃ r ╎A│ ╎B│ r ┃
┃ t ┟─┘ ┟─┘ t ┃
┗━━━━━┛ ┗━━━━━┛
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object doneNeedDuality.typeobject given_Dual_One_One.type
Evidence that if A
is dual to B
, then F[A]
is dual to G[B]
.
Evidence that if A
is dual to B
, then F[A]
is dual to G[B]
.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Externalizer.type
Functor from category -⚬ to the category =>
of Scala functions. It takes a morphism A -⚬ B
internal to the DSL and maps it to a morphism F[A] => F[B]
in the meta language (Scala), i.e. external to the DSL.
Functor from category -⚬ to the category =>
of Scala functions. It takes a morphism A -⚬ B
internal to the DSL and maps it to a morphism F[A] => F[B]
in the meta language (Scala), i.e. external to the DSL.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Externalizer[F]
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Focused on B
in F[B]
, where B
is in a covariant position.
Focused on B
in F[B]
, where B
is in a covariant position.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Focused on B
in F[B]
, where B
is in a contravariant position.
Focused on B
in F[B]
, where B
is in a contravariant position.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Extends the focus to the left/right side of the (currently focused) consumer choice.
Extends the focus to the left/right side of the (currently focused) consumer choice.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Extends the focus to the left/right side of the (currently focused) producer choice.
Extends the focus to the left/right side of the (currently focused) producer choice.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Junction.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
LeasePool.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- object
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Multiple.type
A Comonoid whose counit can be chained before a signal flowing in the '''N'''egative direction (Need), effectively taking on the responsibility to await completion of some computation.
A weaker version of Monoid whose unit creates a liability - a signal traveling in the '''N'''egative direction (Need) that eventually needs to be awaited.
A weaker version of Monoid whose unit creates a liability - a signal traveling in the '''N'''egative direction (Need) that eventually needs to be awaited.
Its dual is PComonoid.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object given_NMonoid_Need.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Optionally.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PUnlimited.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Monoid[A]object given_Monoid_Done.typeobject given_Monoid_One.typeobject given_Monoid_Ping.typetrait NMonoid[A]object given_NMonoid_Need.typetrait PMonoid[A]object given_Semigroup_Done.typeobject given_Semigroup_Need.typeobject given_Semigroup_Ping.typeobject given_Semigroup_Pong.typeShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Signaling.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
SignalingJunction.type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Transportive.type
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object given_Transportive_Detained.typeobject given_Transportive_Id.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Unlimited.type
Attributes
- Supertypes
- Self type
-
doneNeedDuality.type
Attributes
- Supertypes
- Self type
-
given_Dual_One_One.type
Attributes
- Supertypes
- Self type
Types
Like Detained, expresses that interaction with A
is (at least partially) obstructed, but does not have the ability to absorb a non-dismissible signal (namely Done)—the signal to resume must be dismissible (namely Ping).
Like Detained, expresses that interaction with A
is (at least partially) obstructed, but does not have the ability to absorb a non-dismissible signal (namely Done)—the signal to resume must be dismissible (namely Ping).
Attributes
Expresses the intent that interaction with A
is (at least partially) obstructed. The detention can be ended by receiving a signal.
Expresses the intent that interaction with A
is (at least partially) obstructed. The detention can be ended by receiving a signal.
Note that whether/how much the interaction with Detained[A]
is actually obstructed is completely up to the producer of Detained[A]
.
Equivalent to Need |*| A
(or Done =⚬ A
if the DSL extends ClosedDSL).
Attributes
An endless source of elements, where the consumer decides whether to pull one more element or close. Dual to LList, in which the producer decides how many elements will be produced.
An endless source of elements, where the consumer decides whether to pull one more element or close. Dual to LList, in which the producer decides how many elements will be produced.
Attributes
Non-empty list, i.e. a list with at least one element.
Non-empty list, i.e. a list with at least one element.
Attributes
Zero or more instances of A
. The exact multiplicity is determined by the producer.
Zero or more instances of A
. The exact multiplicity is determined by the producer.
Similar to LList, but unlike LList, the producer of Multiple is not required to unveil the elements sequentially. There are many different representations (in fact an infinite number) of the same sequence of elements of type A
as Multiple[A]
, while there is only one representation of that sequence as LList[A]
.
Attributes
Unlimited supply of A
s. The consumer chooses how many A
s to consume.
Unlimited supply of A
s. The consumer chooses how many A
s to consume.
Attributes
Value members
Concrete methods
Λ is the uppercase Greek letter lambda.
Λ is the uppercase Greek letter lambda.
Attributes
Chooses the left alternative A
of the choice A |&| B
, but only after the Need
signal from the first out-port arrives. Until then, the producer of A |&| B
will see it as undecided. This is different from chooseL[A, B] > awaitNegFst[A]
, in which the producer of A |&| B
knows immediately that the left side is chosen.
Chooses the left alternative A
of the choice A |&| B
, but only after the Need
signal from the first out-port arrives. Until then, the producer of A |&| B
will see it as undecided. This is different from chooseL[A, B] > awaitNegFst[A]
, in which the producer of A |&| B
knows immediately that the left side is chosen.
Attributes
Analogous to awaitChooseL, but chooses the right side.
Injects A
from the the second in-port to the left side of the |+|
in the out-port, but only after the Done
signal from the first in-port arrives. That means that the consumer of A |+| B
will see it as undecided until the Done
signal arrives. This is different from awaitPosFst[A] > injectL[A, B]
, in which the consumer of A |+| B
knows immediately that it is the left case.
Injects A
from the the second in-port to the left side of the |+|
in the out-port, but only after the Done
signal from the first in-port arrives. That means that the consumer of A |+| B
will see it as undecided until the Done
signal arrives. This is different from awaitPosFst[A] > injectL[A, B]
, in which the consumer of A |+| B
knows immediately that it is the left case.
This is a convenience method on top of injectLWhenDone that which absorbs the Done
signal using the given Junction.Positive.
Attributes
Analogous to joinInjectL, but injects to the right.
Analogous to joinInjectL, but injects to the right.
Attributes
Analogous to awaitChooseL, but awaits a positive (i.e. Done) signal.
Analogous to awaitChooseR, but awaits a positive (i.e. Done) signal.
Obstructs interaction on the in-port (i.e. from the left) until Pong is received.
Obstructs interaction on the in-port (i.e. from the left) until Pong is received.
Attributes
Obstructs interaction on the out-port (i.e. from the right) until Ping is received.
Obstructs interaction on the out-port (i.e. from the right) until Ping is received.
Attributes
If F[A]
is dual to G[B]
for all dual pairs A
, B
, then Rec[F]
is dual to Rec[G]
.
If F[A]
is dual to G[B]
for all dual pairs A
, B
, then Rec[F]
is dual to Rec[G]
.
Attributes
From the choice ''available'' on the right (C |&| D
), choose the one corresponding to the choice ''made'' on the left (A |+| B
): if on the left there is A
, choose C
, if on the left thre is B
, choose D
.
From the choice ''available'' on the right (C |&| D
), choose the one corresponding to the choice ''made'' on the left (A |+| B
): if on the left there is A
, choose C
, if on the left thre is B
, choose D
.
Attributes
From the choice ''available'' on the left (A |&| B
), choose the one corresponding to the choice ''made'' on the right (C |+| D
): if on the right there is C
, choose A
, if on the right there is D
, choose B
.
From the choice ''available'' on the left (A |&| B
), choose the one corresponding to the choice ''made'' on the right (C |+| D
): if on the right there is C
, choose A
, if on the right there is D
, choose B
.
Attributes
Races the two Done signals and
Races the two Done signals and
- produces left if the first signal wins, in which case it returns the second signal that still has to be awaited;
- produces right if the second signal wins, in which case it returns the first signal that still has to be awaited. It is biased to the left: if both signals have arrived by the time of inquiry, returns left.
Attributes
Creates a pair of mutually recursive functions.
Creates a pair of mutually recursive functions.
Attributes
Races two Need signals, i.e. signals traveling in the negative direction (i.e. opposite the -⚬
arrow). Based on which Need signal from the out-port wins the race, selects one of the two Need signals from the in-port:
Races two Need signals, i.e. signals traveling in the negative direction (i.e. opposite the -⚬
arrow). Based on which Need signal from the out-port wins the race, selects one of the two Need signals from the in-port:
- If the first signal from the out-port wins the race, selects the left signal from the in-port and pipes to it the remaining (i.e. the right) signal from the out-port.
- If the second signal from the out-port wins the race, selects the right signal from the in-port and pipes to it the reamining (i.e. the left) signal from the out-port. It is biased to the left: if both signals from the out-port have arrived by the time of inquiry, selects the left signal from the in-port.
Attributes
Alias for sequence_PP.
Present a choice between two pairs ((A |*| B) |&| (C |*| D)
) as a choice (B |&| D
) between the second parts of the respective pairs and on the side provide the other part of the chosen input pair, i.e. either A
or C
(A |+| C
).
Present a choice between two pairs ((A |*| B) |&| (C |*| D)
) as a choice (B |&| D
) between the second parts of the respective pairs and on the side provide the other part of the chosen input pair, i.e. either A
or C
(A |+| C
).
Attributes
Present a choice between two pairs ((A |*| B) |&| (C |*| D)
) as a choice (A |&| C
) between the first parts of the respective pairs and on the side provide the other part of the chosen input pair, i.e. either B
or D
(B |+| D
).
Present a choice between two pairs ((A |*| B) |&| (C |*| D)
) as a choice (A |&| C
) between the first parts of the respective pairs and on the side provide the other part of the chosen input pair, i.e. either B
or D
(B |+| D
).
Attributes
Givens
Givens
Extensions
Extensions
Obstructs further interaction until a Ping is received.
Obstructs further interaction until a Ping is received.
Attributes
Implicits
Implicits
Extends the focus to the left/right side of the (currently focused) consumer choice.
Extends the focus to the left/right side of the (currently focused) consumer choice.
Attributes
Extends the focus to the left/right side of the (currently focused) producer choice.
Extends the focus to the left/right side of the (currently focused) producer choice.