KURE 2.6.14 is now available on Hackage.  This new version is simpler to 
instantiate, and has better performance.


What's New?
-----------

The main change from version 2.4.x are

(1) A simplified class interface that makes KURE easier to instantiate.  The 
previous Node and Walker classes have been merged into a single Walker class, 
which only requires one class method, allR, compared to two before (numChildren 
and childL).

(2) The Walker class no longer takes the monad as a class parameter, but 
instead provides methods that work for any monad.  This enforces (some of) the 
intended semantics, and makes the methods more re-usable.

(3) The type function "Generic" has been removed.  This leads to simpler type 
signatures, and allows nodes to appear in multiple sum types without the need 
for newtype wrappers.  The (minor) disadvantage is that type inference is 
weakened, and thus more type ascriptions are now required from the user.

(4) The efficiency of the default definitions of the shallow traversals (anyR, 
oneR etc...) has been improved, making it less likely the user will need to 
overwrite them with custom definitions.

(5) The library as a whole has been internally optimised through aggressive use 
of inlining, which has led to significant speed-ups.

(6) Monad transformers for anyR- and oneR-like behaviour are now provided, 
making it much simpler to define congruence combinators with those behaviours.


About KURE
----------

The Kansas University Rewrite Engine (KURE) is a DSL for strategic 
rewriting.  KURE shares concepts with Stratego, but unlike Stratego, 
KURE is strongly typed. KURE is similar to StrategyLib, but has a 
lightweight generic traversal mechanism rather than using SYB.
KURE is the engine inside HERMIT, our Equational Rewrite Framework.

Homepage: http://www.ittc.ku.edu/csdl/fpg/Tools/KURE


Examples
--------

Some small examples of using KURE are provided in the source bundle.  
For a larger, non-trivial, example, see the description of its use in 
the HERMIT project:

http://ittc.ku.edu/csdl/fpg/node/126


Acknowledgement
---------------

This work was supported by funding from the NSF, for which we are grateful.


Neil Sculthorpe


_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to