Signal

object Signal extends SignalInstances
Companion
class
trait SignalInstances
trait SignalLowPriorityInstances
class Object
trait Matchable
class Any

Type members

Classlikes

final class BooleanSignalOps[F[_]](val self: Signal[F, Boolean]) extends AnyVal
final class SignalOps[F[_], A](val self: Signal[F, A]) extends AnyVal

Value members

Concrete methods

def constant[F[_], A](a: A)(F: Concurrent[F]): Signal[F, A]
def mapped[F[_], A, B](fa: Signal[F, A])(f: A => B)(`evidence$3`: Functor[F]): Signal[F, B]

Implicits

Inherited implicits

implicit def applicativeInstance[F[_]](`evidence$4`: Concurrent[F]): Applicative[[_] =>> Signal[F, _$21]]
Inherited from
SignalInstances
implicit def functorInstance[F[_]](`evidence$5`: Functor[F]): Functor[[_] =>> Signal[F, _$25]]

Note that this is not subsumed by Signal.applicativeInstance because Signal.applicativeInstance requires a Concurrent[F] since it non-deterministically zips elements together while our Functor instance has no other constraints.

Note that this is not subsumed by Signal.applicativeInstance because Signal.applicativeInstance requires a Concurrent[F] since it non-deterministically zips elements together while our Functor instance has no other constraints.

Separating the two instances allows us to make the Functor instance more general.

We put this in a SignalLowPriorityImplicits trait to resolve ambiguous implicits if the Signal.applicativeInstance is applicable, allowing the Applicative instance to be chosen.

Inherited from
SignalLowPriorityInstances