The Kiama team are pleased to bring you the next release of the library.
dsinfo library to provide easy access to the names
of these domain objects. Strategies and attributes now have a name member that can be used for
debugging messages and profiling (see below).dsprofile library to
provide domain-specific profiling reports about strategy and attribute evaluation. See the Profiling wiki page for more information on
Kiama’s profiling support.reset and hasBeenComputedAt interface as
other cached attributes.apply method of strategies is now common, so it is possible to easily customise the behaviour
of all strategies.MemoRewriter is a new version of the Rewriter where every strategy memoises its
results.Strategy type is now defined externally to the Rewriter so it must be imported
separately if you use it.PrettyPrinter module that can be used if you just want the default pretty-printer
behaviour (e.g., just to print trees with no customisation).line (repl) is
exported from the pretty-printing library so that the replacement for an omitted line break can be customised
(inspired by Lucas Sabatin).ProfilingCompiler variant of Compiler trait has been added to make it easier to
define main programs that provide options for running profiles.Compiler trait where only the first filename argument was passed on to the driver.
Compiler.process method is now also given the filename.hasBeenComputedAt on attributes didn’t take account of memoisation table resets.core and kiama sub-projects to support separate
compilation needed for macros.