/bud

Prototype Bud runtime (Bloom Under Development)

Primary LanguageRubyOtherNOASSERTION

# Bud

This is Bud, a.k.a. "Bloom Under Development".  It is an initial cut at a Bloom DSL, using Ruby as a setting.

Please see LICENSE for licensing information.

Language cheatsheet in doc/cheat.md

Main deficiencies at this point are:
- Inefficient evaluation: Programs are run using semi-naive evaluation strategies, but no further
  query optimization has been implemented, and little effort has been spent in
  tuning.

- No Ruby constraints: Within Bloom programs the full power of Ruby is also available, including mutable state.
  This allows programmers to get outside the Bloom framework and lose cleanliness.

- Compatibility: Bud only works with Ruby (MRI) 1.8. MRI 1.9, JRuby and other Ruby
  implementations are currently not supported.

To install:
    % gem install bud

Simple example programs can be found in examples. A much larger set
of example programs and libraries can be found in the bud-sandbox repo.

## Optional Dependencies

The bud gem has a handful of mandatory dependencies. It also has one optional
dependency: if you wish to use the Bud collections backed by Zookeeper (the
"zktable" collection type), the "zookeeper" gem must be installed.