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.