Version 0.0.4
Fix parser precedence
Custom property observers
Fix complex binding graph

Problem was in applying Object.defineProperty on bound properties.

Add tracing to bindings.
Rename module s/frb/bindings/, function s/defineProperty/defineBinding
Version 0.0.5
Cosmetic rename Frb Bindings
Polish
Reimplement computed properties

The new implementation does not use a property descriptor for the
computed property.  Instead it uses an observer for the dependent
`args`, passes the results to a `compute` function, and binds the result
to a property path.

-   This frees up the left hand side of a computed property to any
    property path.
-   Previously, if a binding observed a compted property, the two
    features would compete for the property descriptor on the target
    object and the order of declaration mattered.  With the new
    implementation, the computed property does not need a property
    descriptor so the order of declaration does not matter.
-   Caching the computed property is no longer an issue.  The target
    property captures the computed value and it only needs to be
    recomputed when the inputs change.
-   Arguments are passed to `compute` whenever they change.  Arguments
    do not need to be reacquired or recomputed in the `compute` function
    as they would have been previously in a `get` function.

I wanted to subsume the argument list in the target property path as an
argument tuple, but the grammar consumed the arguments tuple as a
function call.  I could have forced the parameter tuple to be separated
from the target with a space, but that seemed likely to confound users.
Support converters

Convert and revert are functions that keep a value and its bound
"opposite" in sync.  Convert and revert may be bound to a converter
object.  They are handy for bindings that require computation that
cannot be expressed in the property path language.
Two way bindings with primitive algebra solver

In order to make two-way bindings work with some algebraic operators,
add a simple algebra solver that rotates syntax trees to produce inverse
bindings.
Refine algebra solver
Document computed properties, converters, algebra
Update grammar and semantics docs
Version 0.0.7
Obviate hash prefix for numeric literals
Enclose tuples with brackets instead of parens

Use parens exclusively for subexpressions and function calls.
Add incremental filter observer
Test exclusive properties
Document filter