PingPongN
This example implements interaction between two parties, Alice and Bob, in which
- when it's Alice's turn, she can choose to send "ping" to Bob or to quit;
- when it's Bob's turn, he can choose to send "pong" back to Alice, or to quit;
- interaction continues until one of the parties quits.
This is an extension of the PingPong example to multiple rounds of ping-pong. It further demonstrates:
Type members
Types
Inherited types
final
type BimapSyntax >: ([F[_, _], A, B] =>> BimapSyntax[F, A, B]) <: ([F[_, _], A, B] =>> BimapSyntax[F, A, B])
- Inherited from
- StarterAppBase
final
type FocusedBi >: ([F[_, _], B1, B2] =>> FocusedBi[F, B1, B2]) <: ([F[_, _], B1, B2] =>> FocusedBi[F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnChoiceCo >: ([F[_], B1, B2] =>> FocusedOnChoiceCo[F, B1, B2]) <: ([F[_], B1, B2] =>> FocusedOnChoiceCo[F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnChoiceContra >: ([A, F[_], B1, B2] =>> FocusedOnChoiceContra[A, F, B1, B2]) <: ([A, F[_], B1, B2] =>> FocusedOnChoiceContra[A, F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnDoneTimesCo >: ([F[_], B2] =>> FocusedOnDoneTimesCo[F, B2]) <: ([F[_], B2] =>> FocusedOnDoneTimesCo[F, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnFunctionCo >: ([F[_], A, B] =>> FocusedOnFunctionCo[F, A, B]) <: ([F[_], A, B] =>> FocusedOnFunctionCo[F, A, B])
- Inherited from
- StarterAppBase
final
type FocusedOnFunctionContra >: ([F[_], A, B] =>> FocusedOnFunctionContra[F, A, B]) <: ([F[_], A, B] =>> FocusedOnFunctionContra[F, A, B])
- Inherited from
- StarterAppBase
final
type FocusedOnPairCo >: ([F[_], B1, B2] =>> FocusedOnPairCo[F, B1, B2]) <: ([F[_], B1, B2] =>> FocusedOnPairCo[F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnPairContra >: ([A, F[_], B1, B2] =>> FocusedOnPairContra[A, F, B1, B2]) <: ([A, F[_], B1, B2] =>> FocusedOnPairContra[A, F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnPlusCo >: ([F[_], B1, B2] =>> FocusedOnPlusCo[F, B1, B2]) <: ([F[_], B1, B2] =>> FocusedOnPlusCo[F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnPlusContra >: ([A, F[_], B1, B2] =>> FocusedOnPlusContra[A, F, B1, B2]) <: ([A, F[_], B1, B2] =>> FocusedOnPlusContra[A, F, B1, B2])
- Inherited from
- StarterAppBase
final
type FocusedOnTimesDoneCo >: ([F[_], B1] =>> FocusedOnTimesDoneCo[F, B1]) <: ([F[_], B1] =>> FocusedOnTimesDoneCo[F, B1])
- Inherited from
- StarterAppBase
final
type ValMatcher >: ([U >: V, V, A, R] =>> ValMatcher[U, V, A, R]) <: ([U >: V, V, A, R] =>> ValMatcher[U, V, A, R])
- Inherited from
- StarterAppBase
Value members
Concrete methods
Inherited methods
Extensions
Implicits
Inherited implicits
Exports
Inherited defined exports
final
def relayCompletion[A, B]: Pollable[A] |*| Subscriber[B] -⚬ One |+| Val[A] |*| Pollable[A] |*| Neg[B] |*| Subscriber[B]
Exported from instance.function
- Inherited from
- StarterAppBase
final
def scalaStreams: ScalaStreams[ScalaDSL, CoreLib[ScalaDSL], ScalaLib[ScalaDSL, CoreLib[ScalaDSL]], CoreStreams[ScalaDSL, CoreLib[ScalaDSL]]]
Exported from StarterKit.scalaStreams
- Inherited from
- StarterAppBase