CRSX - Combinatory Reduction Systems with Extensions in Java
The CRSX project
aims at implementing a generic higher-order rewrite engine based on the
Combinatory Reduction Systems (CRS) formalism.
Goals
The specific goals of the CRSX project are to
- provide a generic higher-order rewrite engine that
- is easy to embed in other projects such as compiler optimizers,
- is simple to extend with experimental features, and
- runs on the universally available open source Java 5+ platform.
Everyone can use the code but if you wish to contribute then contact the project admins.
History
Combinatory Reduction Systems (CRS) were invented by
J. W. Klop in
1980. The idea of CRS is to allow rewriting rules that
allow for matching binding constructs and performing substitution
as part of rewrite steps. The seminal paper on CRS is:
Jan Willem Klop, Vincent van Oostrom, and Femke van Raamsdonk,
"Combinatory Reduction Systems: Introduction and Survey,"
Theoretical Computer Science 121, pp. 271-308 (1993).
The CRSX project grew out of the XQuery optimizer developed by
Kristoffer Rose
as part of the
Virtual XML project at IBM Research.
License
The code is Copyright (c) 2006, 2008 IBM Corporation.
The program and the accompanying materials are made available
under the terms of the Common Public License v1.0,
which is included with the distribution and is available at
http://www.opensource.org/osi3.0/licenses/cpl1.0.php.
$Id: index.html,v 1.4 2008/03/20 05:36:30 krisrose Exp $