Latest Developments
Stratego -- Strategies for Program Transformation
2008-04-24
New URLs for Subversion, Releases, and Bug-tracking
All the Stratego/XT development tools have been moved to subdomains of
strategoxt.org. An overview:
Thanks to Eelco Dolstra for doing most of this work!
2007-04-26
Global Variables
Stratego now supports
scoped global variables. In the context of a dynamic rules section one
can now write
rules( Foo := <compute> )
which abbreviates the following commonly used programming pattern:
x := <compute>
; rules( Foo : _ -> x )
The value bound in the assignment can be retrieved by the application <Foo>.
The usual scoping features of dynamic rules apply to global variable as well.
For more information see this
blog.
2007-04-03
AspectJ-front revived, support for Microsoft Windows
The
AspectJ-front package has been updated to be easier to install and be more portable. The AspectJ syntax definition of AspectJ-front heavily exercises the
SDF parser generator, which used to make it rather difficult to install the package on machines with a limited amount of memory. The new packages includes the compiled parse tables and also the package is more portable, including support for native Microsoft Windows! The package now also provides a library (DLL on Microsoft Windows) for parsing and pretty-printing AspectJ source files.
2007-03-01
x86-64 support for Stratego/XT!
Stratego/XT supports x86-64 processors (in 64-bit mode) from release
0.17M3pre16744 (
or later), the sdf2-bundle from release
2.4pre212034 (
or later). The preliminary releases are available from our new
Nix buildfarm at the TU Delft. The x86-64 support is based on a branch of the ATerm library developed by Eelco Dolstra and Erik Scheffers, and some new 64-bit patches for the sdf2-bundle. The x86-64 bit requirements are completely hidden in the ATerm library and the Auto/XT build system, thus packages based on Stratego/XT should support x86-64 machines out of the box if they do not contain custom native C code. The preliminary releases with 64-bit support will soon be used in the Stratego/XT packages
integration build, which currently still refers to the
Nix Buildfarm at Utrecht University. More information about the issues and the specific patches required for x86-64 support is available in a
post at
Subject to Meta Programming.
2007-01-18
Stratego/XT Packages Channel
The Stratego/XT packages channel now provides
integration builds for Stratego/XT, its dependencies, and packages based on Stratego/XT. We have created this channel after frequent questions about which packages work together. From now on, this is the way to install the latest developments of Stratego/XT. If you install packages from this channel, then they are guaranteed to work together. If your favorite Stratego/XT package is currently not on the channel, just send us a request. If the package is maintained and in reasonable use, then we will add it to the channel.
2006-08-20
New Translation Scheme
By a
new translation scheme in the back-end of the Stratego compiler, the dependency on nested functions in gcc has been eliminated. The compiler now produces ANSI C compliant code, increasing the portability of Stratego code in terms of compilers and platforms.
2006-06-05
Support for Mac OSX / Intel
Announced support for Mac/Intel machines in the the latest unstable releases, including an installer.
2005-11-04
Stratego/XT 0.16
Stratego/XT 0.16 has been released. This release introduces a major refactoring of the Stratego Language and compiler. Furthermore, many outstanding issues have been addressed, and we have a manual!
2005-11-04
Stratego Shell 0.6
Stratego Shell 0.6 has been released. This release features a major reimplementation of the interpreter and compatability with the Stratego Core language introduced in
Stratego/XT 0.16.
2005-11-04
BibTex Tools 0.2
BibTex Tools 0.2 is the first official release of the Stratego/XT
BibTeX Tools package, which provides components for processing BibTeX files, mainly for producing publication lists.
2005-11-04
Java-front 0.8
Java-front 0.8 has been released. This is a major update, fixing some usability issues in parse-java, improving the support for compilation the command-line, and fixes in the pretty-printer.
2005-08-31 Stratego/XT 0.16M1 has been released. This releases features a redesign of the Stratego compiler, e.g. a new compilation scheme which should give a huge performance boost on Mac OS X machines.
2005-07-05 Stratego/XT 0.15 is now available. It is an experimental release featuring a major refactoring of the internal representation of Stratego and the Stratego compiler.
2005-05-24 Java-front 0.7 is now available. A few minor bugs in the syntax definition have been fixed and hexadecimal floating-point literals are now supported.
2005-05-20 Stratego Shell 0.5 is now available. This release fixes various bugs and supports
Stratego/XT 0.14.
2005-01-14
Stratego Shell 0.4, the first offical release, is now available! The
Stratego Shell implements a Stratego interpreter and an interactive shell for Stratego programming. The interpreter and shell are very useful for learning Stratego and for implementing small tests.
2005-01-14
Java-front 0.6 has been released. This release improves the embedding of Java in Stratego.
2005-01-13
Stratego/XT 0.13 has been released. This releases features the implementation of
dependent dynamic rewrite rules and various bug-fixes and new features of the Stratego compiler and the transformation tools of Stratego/XT. See the release page for more details.
2004-11-24
Builds of Stratego/XT and extension packages is now done
continuously using a
Nix build farm.
Source and binary distributions are available only hours after committing a change.
2004-10-04
Java-front 0.5 has been released. Java-front adds support for Java program transformation to StrategoXT. It provides a handcrafted
SDF syntax definition and pretty-printer for Java (J2SE 5.0).
2004-10-04
StrategoXT 0.12 has been released. This releases improves the usability of several tools and extends the support for XML exchange. Also, the error reporting of format-check has improved drastically.