lihaoyi/scala.rx — pull request #28 by lihaoyi (2014-12-10 06:07:19+00:00)
Title: 0.3.0

This is a complete re-write of Scala.Rx, from the ground up. The goal is to drop all the crazy parts of it that nobody (AFAICT) uses, while keeping the good parts and making it much simpler.

- Drop all support for parallelism and thread-safety. This greatly simplifies everything.
- Drop all support for asynchrony. This may come back in some form later, but for now it's gone.
- No more crazy inheritance. All combinators (e.g. `.map`, `.filter`) are built from the same basic primitives (`Rx`, `Var`, `Obs`) as everyone else
- Super-simple case-class based model
- No more private properties; everything is now public, and the internals are simple enough I'm not to scared of exposing them. The stuff newbies shouldn't need to touch are inside the `Internals` namespace so it's obvious that only advanced users should touch them.
- Abstracted out the logic behind the various methods, so all the basic versions and the `Try`-based versions can share the same source code.
- Introduced `.fold`
- No more weak references. These didn't work on Scala.js anyway, and caused confusion and complexified the implementation of things