Three major changes with this release:
A backwards-incompatible modification to Dhaka::Evaluator (hence the
to 1.x.x - I just discovered the rational versioning system):
When specifying evaluation rules, Evaluator#evaluate must now explicitly
called on child nodes. This is required to allow for the possibility of
referring to syntax tree nodes while deferring evaluation (useful, say,
you wanted to implement something like functions). I’ve changed the
at the project homepage accordingly. The code just looks marginally
In response to requests, I’ve included a mini-language called
in the test suites. It’s no Ruby, but it has if-else statements and
while-loops and other nice things, and is pretty illustrative about how
go about implementing something more complicated than the Ruby Q.
examples. Many thanks to Henry (unfortunately I don’t know your full
for pointing out the need for an example of this sort.
Dhaka now has an RDoc. It’s a lot of work, but a pretty small API!
to Gregory B. for requesting this. I hope it helps.