forked from bloom-lang/bud
-
Notifications
You must be signed in to change notification settings - Fork 1
Prototype Bud runtime (Bloom Under Development)
License
jhellerstein/bud
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# 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.
About
Prototype Bud runtime (Bloom Under Development)
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Ruby 100.0%