rx

package rx

Scala.Rx is an experimental change propagation library for Scala. Scala.Rx gives you Reactive variables (Rxs), which are smart variables who auto-update themselves when the values they depend on change. The underlying implementation is push-based FRP based on the ideas in Deprecating the Observer Pattern.

A simple example which demonstrates its usage is:

import rx._
val a = Var(1); val b = Var(2)
val c = Rx{ a() + b() }
println(c()) // 3
a() = 4
println(c()) // 6

See the github page for more instructions on how to use this package, or browse the classes on the left.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. rx
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. implicit class AsyncRx[T] extends AnyRef

    Provides extension methods on Rx[Future]s.

  2. trait Emitter[+T] extends Node

    Something that emits pings.

  3. class Obs extends Reactor[Any]

    An Obs is something that produces side-effects when the source Rx changes.

  4. trait Propagator[P] extends AnyRef

    A Propagator is an object which performs a propagation wave over the Scala.

  5. trait Reactor[-T] extends Node

    Something that can receive pings and react to them in some way.

  6. trait Rx[+T] extends Emitter[T] with RxMethods[T]

    An Rx is a value that can change over time, emitting pings whenever it changes to notify any dependent Rxs that they need to update.

  7. class Var[T] extends Rx[T]

    A Var is an Rx which can be changed manually via assignment.

Value Members

  1. object Obs

  2. object Propagator

  3. object Rx

  4. object Var

Inherited from AnyRef

Inherited from Any

Ungrouped