CHANGELOG.md in alf-0.9.0 vs CHANGELOG.md in alf-0.9.1

- old
+ new

@@ -1,63 +1,127 @@ +# 0.9.1 / 2011.07.13 + +* Enhancements (public APIs) + + * Added the in-memory Alf::Relation data structure and associated tooling. + This allows using Alf in a object-oriented usual way, in addition to the + functional DSL: + + Alf.lispy.evaluate { + (join (restrict :suppliers, lambda{ status > 10 }), :cities) + } + + is equivalent to + + suppliers, cities = [...], [...] + suppliers.restrict(lambda{ status > 10 }).join(cities) + + see README about how to obtain suppliers and cities relations in the first + place. + + * Summarize now accepts a --allbut option, to specify 'by' attributes from an + exclusion perspective + + * .alf files are now evaluated in such a way that backtraces are "traceability + friendly" + +* Non backward-compatible changes to public APIs + + * Lispy#with has been removed because not being stable enough. The clean way + of reusing sub-queries is as follows (non purely functional, so far) + + kept_suppliers = (restrict :suppliers, lambda{ status > 10 }) + with_countries = (join kept_suppliers, :cities) + supplying = (join with_countries, :supplies) + (summarize supplying, + [:country], + :which => Agg::group(:pid), + :total => Agg::sum{ qty }) + + * As a consequence, named data sources (Symbols, like :suppliers above) are + now resolved at compile time, which is less powerful, yet much simpler and + sound. + + * Nest and Unnest have been renamed to Wrap and Unwrap respectively. This is + to better conform to TUTORIAL D's terminology. + + * Lispy#chain was kept public in 0.9.0 by error and has been entirely removed + from the DSL. + +* Enhancements (internals) + + * Reader.reader delegates to Reader.coerce when its first argument is not + a String. This allows calling Reader.reader(args.first || $stdin) in quickl + commands for example. + + * Operator, Operator::Relational and Operator::NonRelational have a .each + class method that yields operator classes + +* Bug fixes + + * Fixed a bug that led to an Nil error when using unary operators on $stdin + * Fixed a bug when summarizing or sorting on Symbol attributes with ruby 1.8 + * Fixed numerous crashes under rubinius + # 0.9.0 / 2011.06.19 * Enhancements * Birthday!