Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
# Bud This is Bud, a.k.a. "Bloom Under Development". It is an initial cut at a Bloom DSL, using Ruby as a setting. See LICENSE for licensing information. Language cheatsheet in docs/cheat.md ; see the docs/ directory for other documentation. 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. ## Installation To install the latest release: % gem install bud To build and install a new gem from the current development sources: % gem build bud.gemspec ; gem install bud*.gem Note that GraphViz must be installed. Simple example programs can be found in examples. A much larger set of example programs and libraries can be found in the bud-sandbox repository. To run the unit tests: % cd test; ruby ts_bud.rb ## Optional Dependencies The bud gem has a handful of mandatory dependencies. It also has two optional dependencies: if you wish to use Bud collections backed by Zookeeper or Tokyo Cabinet (the "zktable" and "tctable" collection types, respectively), the "zookeeper" and/or "tokyocabinet" gems must be installed. Note that before installing the "tokyocabinet" gem, the Tokyo Cabinet libraries should be installed first.