Scala 2
API Specification
This document is the API specification for Scala 2.

Class Summary
> | `class` Fluid [ T ] Fluids provide a binding mechanism where the current value is found through dynamic scope, but where access to the fluid itself is resolved through static binding to a variable referencing the fluid. The current value can be retrieved with the `value` method. New values can be pushed using the `withValue` method. Values pushed via `withValue` only stay valid while the `withValue`'s second argument, a parameterless closure, executes. When the second argument finishes, the fluid reverts to the previous value. Usage of `withValue` looks like this:
>        someFluid.withValue(newValue) {
>          // ... code called in here that calls value ...
>          // ... will be given back the newValue ...
>        }
Each thread gets its own stack of bindings. When a new thread is created, the fluid gets a copy of the stack of bindings from the parent thread, and from then on the bindings for the new thread are independent of those for the original thread.