Web News

Stratego -- Strategies for Program Transformation
See also the WebChanges page.

2010-05-28 Version 0.5 of the Spoofax Language Workbench has been released. Read the announcement on the main page.

2010-05-26 The paper The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs by Lennart Kats and Eelco Visser has been accepted for presentation at OOPSLA/SPLASH 2010. The paper presents the Spoofax language workbench for development of Eclipse IDEs with SDF and Stratego as language definition formalisms.

2009-12-30 A bibliograpy with Stratego/XT related publications is now available from researchr

2009-07-27 Following the Stratego/XT 0.17 release, we have released some minor updates on some extension packages.

2009-07-08 Stratego/XT 0.17 has been released. This release introduces major improvements across the board, including language additions, a new compiler library, numerous improvements to the compiler, significant changes to the library handling, new libraries for parsing, pretty printing and term validation, 64-bit support, stack traces and more.

2009-04-06 Postdoc position available in the MoDSE project.

2008-12-12 The paper Decorated Attribute Grammars by Lennart Kats, Tony Sloane and Eelco Visser has been accepted for presentation at the International Conference on Compiler Construction (CC 2009) to be held in March 2009 in York (UK). The paper introduces Aster, an extension of Stratego with reference attribute grammars and attribute traversals based on Stratego's traversal operators.

2008-03-31 The paper "Code Generation by Model Transformation. A Case Study in Transformation Modularity" by Zef Hemel, Lennart Kats, and Eelco Visser has been accepted for presentation at the International Conference on Model Transformation (ICMT'08)

2008-02-15 The Stratego/XT site has been moved to a server at Delft University. The strategoxt.org domain is now the canonical domain for the website. The old www.stratego-language.org domain is forwarded there and will remain available.

2008-01-08 stratego-language.org is back online after absence for a day, while the DNS server for the domain was changed. This is in preparation for a migration to a new server at Delft University of Technology, where the site will be hosted in the future. The site will also be converted to a new wiki implementation in WebDSL.

2007-12-20 First release of WebDSL at webdsl.org.

2007-06-20 Paper: Domain-Specific Language Engineering presents a case study in designing and implementing WebDSL, a DSL for building web applications with a rich domain model. Tutorial paper for the GTTSE'07 summerschool.

2007-03-29 Publication list of Stratego/XT project and applications is up-to-date again. Please help us keep it so by sending us bibtex entries for your publications related to Stratego/XT.

2007-02-11 Blog: Stratego (back) in Portland

2007-01-24 Hardware for a new buildfarm has arrived at Delft University.

2006-11-14 Preliminary program for Seventh Stratego User Days available.

2006-09-14 There is enough interest to organize the Seventh Stratego User Days in November in Delft. Get in touch if you want to participate.

2006-08-30 Will the Seventh Stratego User Days be held in 2006? It depends on you.

2006-06-30 The Jacquard program of NWO and EZ has granted the Model-Driven Software Evolution project, funding an assistant professor, a postdoc, and two PhD students. The project will support further work on implementation techniques for domain-specific languages in the spirit of MetaBorg.

2006-06-22 Stratego Central is moving. Eelco Visser accepts associate professorship at Delft University of Technology. Work on further development of Stratego and applications will continue there supported by several research grants.

2006-06-06 Eric Bouwers is going to implement a PHP static analysis tool based on Stratego/XT and sponsored by Google's Summer of Code. You can read about the developments at his blog.

2006-06-05 Announced support for Mac/Intel machines in the the latest unstable releases, including an installer.

2006-02-28 NWO grants the Transformations for Abstractions project funding a postdoc for three years.

2005-11-04 The first Stratego/XT Manual has been released with tutorial, examples, and reference material.

2005-11-04 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 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 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 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-21 Update of the publication page with all the papers and theses that appeared in 2005 so far.

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-05-09 The RSS feed of the Stratego/XT Wiki has been fixed and is now valid RSS.

2005-05-09 Stratego/XT 0.14 has been released. This releases features wildcard imports in Stratego, the hierarchical Stratego library, the introduction of pkg-config 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.

Paper: 'Combining Aspect-Oriented and Strategic Programming' introduces and explains an extension to the Stratego language for dealing with cross-cutting, separate concerns, called AspectStratego.

Paper revision: 'Program Transformation With Scoped Dynamic Rewrite Rules'

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.

Java-front 0.6 has been released. This release improves the embedding of Java in Stratego.

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.

Paper: 'Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules' introduces the concept of dependent dynamic rewrite rules, for modeling the dependencies of data-flow facts on program entitities such as variables.

Paper: 'Program Transformation With Scoped Dynamic Rewrite Rules' describes the new design of dynamic rewrite rules including scope labels, extended dynamic rules, and union and intersection of rulesets.


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.


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).


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.


Thesis: Arthur van Dam's thesis on 'Extending Dynamic Rules' describes the new design of dynamic rules by means of several case studies.


First release (0.1) of bibtex-tools package for processing BibTeX bibliography files. Main feature is the bib-to-html conversion that is parameterized with templates for selection and presentation of bibliographies.


StrategoXT 0.11 has been released. This release fully supports separate compilation, Mac OS X, Cygwin and it provides new tools for XML processing.


StrategoXT 0.10 has been released. This release features a major redesign of scoped dynamic rewrite rules, and an update of the XT tools.


Paper: 'Concrete syntax for objects' describes the MetaBorg approach to embedding and assimilation of domain-specific languages in a host language illustrated with several extensions of Java. (Accepted for OOPSLA'04.)


Issue tracking for Stratego/XT and related projects is now done with JIRA.


StrategoXT-0.9.5 is now available. This release fixes many bugs and usability issues in StrategoXT tools. Many tools in StrategoXT have been updated and improved.


Thesis: XDoc An extensible documentation generator by Rob Vermaas.


Pictures from the Fifth Stratego User Days


Domain: http://www.metaborg.org


Paper: A survey of strategies in rule based program transformation systems


Slides from talks at the Fifth Stratego User Days.


The URLs http://strategoxt.org and http://stratego.org now point to the Stratego website.


StrategoXT-0.9.4 is now available. This release drastically reduces the memory usage at some operating systems and includes preliminary implementations of separate compilation, user-definable desugarings and dynamic rule sets.


Paper: 'Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax' describes the use of concrete syntax in Prolog (PrologTools).


Paper: a revision of 'Program Transformation with Stratego/XT' now also discusses term annotations and foreign functions.


Logo: Niels Janssen redesigned the Stratego Logo:


Application: The bibtex-tools package provides a syntax definition and utilities for BibTeX (to automatically produce publication lists).


Additional package download provides source and binary distributions of several utility or application packages for StrategoXT.


StrategoXT-0.9.3 is now available. The compiler has been refactored and the optimizer extended with many new optimizations.


Development: The Stratego optimizer has been extended with many new optimizations, reducing size of generated code and improving its performance.


Brochure: 'Stratego/XT: Components for Program Transformation Systems' gives a summary in two pages.


Language extension: Strategy operators can have term arguments in addition to strategy arguments. Native primitives can now also have strategy arguments.


Thesis: 'Code Generation From a Domain Specific Language' examines code generation techniques in Stratego and other languages and arrives at an idiom of template based code generation in Stratego


Thesis: 'Simplifying the Simplifier' describes the design and implementation of an extensible optimizer for the Helium compiler.


StrategoXT-0.9.2 is now available. This is a logistics release smoothening the build process in order to automatically build binary distributions for various platforms.


Paper: 'Program Transformation with Stratego/XT' gives overview of language and tools.

Paper: 'Design of the CodeBoost Transformation System' presents a system for domain-specific transformation of numeric programs.

Paper: 'Turning Dynamic Typing into Static Typing by Program Specialization' explains type analysis in Octave Compiler?.


Development: StrategoShell is an experimental interactive shell for executing Stratego commands.


StrategoXT-0.9.1 has been released.

Slides of the Fourth Stratego Users Day are available.


The Fourth Stratego Users Day will be held on June 5, 2003. Register now.


Paper: 'Transformation Mechanics' surveys mechanisms for program transformation and support in existing systems.


StrategoXT-0.9 has been released.


ReferenceCard gives a comprehensive overview of the tools in the StrategoXT distribution


XtDailyBuild? is a portable daily build system for performing continuous daily builds of StrategoXT and related projects.


StrategoRelease09 (beta8) improves dynamic rule semantics and polishes XTC and AutoXT.


AutoXT provides autoconf/make support for building transformation systems with StrategoXT.

XTC is a framework for transformation tool composition.

AutoXT and XTC are included in StrategoRelease09 (beta7). XtApplet (0.3) illustrates use of Stratego.


Fusion of Stratego and XT: StrategoRelease09 integrates the distributions of Stratego and XT. A first beta release is now available.


The Stratego MailingLists are now supported by better software that should eliminate spam to the lists.


The paper 'Strategies For Source to Source Constant Propagation' illustrates the use of dynamic rules in the specification of data-flow optimizations.


New version of the paper 'The Essence of Strategic Programming'. Describes the essential ideas underlying the idiom of strategic programming and discusses several realizations.


A new version (1.0) of the Tiger Compiler illustrates the use of Meta Programming with Concrete Object Syntax. Furthermore, the distribution of the compiler now contains the sources of all components. The Tiger in Stratego project is a good starting point for learning Stratego and XT.


StrategoRelease08 extends Stratego with support for meta programming with concrete object syntax.


The paper 'Meta Programming with Concrete Object Syntax' explains how Stratego specifications can be written using the concrete syntax of the object language that is transformed.


The paper 'Rewriting Strategies for Instruction Selection' shows how various approaches to instruction selection can all be expressed in the framework of rewriting strategies.


The ThirdSudReport reports about the ThirdStrategoUsersDay including links to the slides and pictures.


The handouts of the Stratego Tutorial at ETAPS are available from the StrategoDocumentation page.


StrategoRelease07 is now available from StrategoDownload.


New paper: The Essence of Strategic Programming. Describes the essential ideas underlying the idiom of strategic programming and illustrates these notions in several realizations including Stratego.

The EBNF package is an XtApplet demonstrating the use of strategies in grammar transformations.


The Third Stratego Users Day will be held at Utrecht University on Friday, May 3, 2002. Send in talk proposals now!


The paper Building Interpreters with Rewriting Strategies has been accepted for publication at LDTA. It describes the composition of an interpreter from a set of semantic rewrite rules using a strategy.


If you have trouble finding your way in the XT forest of tools, then you can get started with XtApplet, a small package illustrating everything you need to set up a basic parse, transform, and pretty-print pipeline.


StrategoApplication of the month: AutoBundle is a nice example of a StrategoApplication. The tool creates software distribution bundles from package descriptions by analyzing depencencies between packages. The tool also generates a webpage from a collection of package descriptions and computes pictures of dependency graphs on demand. You can see AutoBundle at work in the OnlinePackageBase


StrategoRelease07 (beta1) introduces the GlobalBacktracking? operators ++ and <++, as well as ConstantTermCaching.


On Sunday, April 14, 2002, at ETAPS'02 there will be a full day tutorial about Stratego. See StrategoTutorialAtETAPS.


StrategoRelease064 fixes translation of StrategyRules.


The proceedings of the SecondStrategoUsersDay are now (finally) available.


The OnlinePackageBase now generates package depence graphs dynamically for all separate packages (by clicking the i symbol). This is done using a cgi script that calls a bunch of XT tools:

${AUTOBUNDLE}/bin/bundlegen -I ${pkgdir} -p ${pkg} -g 
   | GraphXML2dot
   | pp -l dot -a
   | ${GV}/bin/dot -Tgif -Gbgcolor=white
These are all implemented in Stratego of course. (See also AutoBundle) -- MerijnDeJonge - 07 Dec 2001


TigerInStratego? is an implementation of a compiler and other transformations for the TigerLanguage? of AndrewAppel. The sources of the compiler provide a good example of Stratego programming and are a good starting point for learning to use Stratego together with the CourseSlides? from the Software Generation? course. The documentation of the project is in the Hpc? web that is also used for the course on High-Performance Compilers that I teach at Utrecht University. -- EelcoVisser - 06 Dec 2001


The categories CategoryBugs?, CategorySolvedBugs?, CategoryToDo?, and CategoryDone? provide a more systematic way for tracing bugs and desirable extensions. If you encounter a bug please check the StrategoBugs? page to see if it is a known bug. Create a new bug topic on that page and add CategoryBugs? at the bottom.

You can stay up to date with developments in the Stratego web by putting your name on the WebNotify page.


TermWrap and TermProject are two generalizations of strategy applications in build and match patterns. They will be available in StrategoRelease063.


There is a proposal to hold another ThirdStrategoUsersDay. Please indicate whether you would be interested in attending and presenting something.


The annotated bibliography of Stratego at http://www.stratego-language.org/publications provides some 35 references to papers about design, implementation and application of Stratego and the implementation of strategic programming in other languages.

The CVS repository for the Stratego system is back online. See StrategoCVS? for instructions for downloading the latest changes.


StrategoRelease062 fixes a bug in the compilation of overlays.


StrategoRelease061 is now available from StrategoDownload.


StrategoRelease06 is now available from StrategoDownload. A new implementation scheme, much faster code, and faster compilation.


A pre-release of Stratego 0.6 is now available at StrategoRelease06. The compiler uses a new translation scheme and is much faster than previous versions. Generated code is also faster than before.


KarlTrygveKalleberg complained about the StrategoDocumentation. I propose to improve the situation by developing documentation on this wiki such that users can directly respond with comments, examples, better explanations etc. See StrategoTutorial?, FrequentlyAskedQuestions, StrategoGlossary, CommonErrors?. -- EelcoVisser - 29 Mar 2001


StrategoRelease051 is available.


Version 0.5 of the Stratego distribution is available from StrategoDownload. See StrategoRelease05 for an overview of changes in this release.


A complete bibliography for StrategoLanguage in BibTeX format is now available from the StrategoPublications page.


The web site has been migrated to twiki. All pages of the site are now under twiki and can be edited by registered users. New pages include the ToDo page with a long list of ideas for improvement of the language and the system.


A paper about the optimization of the innermost strategy is now available from the StrategoPublications page.


A short system description of Stratego (version 0.5) has been accepted for publication at RTA'01. A description of XT has been accepted at LDTA'01. See the StrategoPublications page. (Version 0.5 introduces StrategoScript?. It will be released soon.)


The Stratego documentation is now also available online. See the StrategoDocumentation page. The HTML versions were produced with the LaTeX? to HTML translator HeVeA?.


Release 0.4.22 is now available.


The preliminary program for the Second Stratego Users Day is now available.


The SecondStrategoUsersDay will be held on February 8, 2001 at Utrecht University. A full day tutorial on Stratego will be held the day before on February 7.


Release 0.4.21 is now available.


OttoSkroveBagge created a Debian distribution package for Stratego and the ATerm Library. See the MirrorDistributions? page for more information.


Release 0.4.20 is now available.


Release 0.4.19 is now available.


On the HighPerformanceCompilersCourse? page I am collecting information about learning to program in Stratego using Appel's Tiger language as example.


The final version of WarmFusionInStratego paper is available. The first version of the implementation of the WarmFusionTransformation is distributed in the HSX package.


But a long outage due to server breakdown combined with vacation shows the vulnerability of wiki.


Renewed the website basing it more on the stratego-wiki.

Stratego.WebNews moved from Stratego.StrategoNews on 11 Nov 2001 - 21:56 by EelcoVisser - put it back