This is the old Logen home page. The new one with precompiled binaries and a graphical user interface is available here.

The LOGEN Offline Partial Evaluation System

LOGEN is an offline partial evaluation system for Prolog written using the so called "cogen approach". Basically, the cogen is a system which:
  1. based upon an annotated version of the program to be specialised produces a specialised partial evaluator for that program. This partial evaluator is called a generating extension.
  2. you can then use the generating extension to specialise the program in a very efficient manner.
Fore details, please have a look at:

Efficient Specialisation in Prolog Using a Hand-Written Compiler Generator. Michael Leuschel and Jesper Jørgensen.

LOGEN is implemented in SICStus Prolog. It has been jointly developed by myself and Jesper Jorgensen. The system should still be considered a prototype.

You can download the latest verion of the system here (tar'ed) or here (not tar'ed). Please consult the Read-Me File Note: the distribution now also contains the traditional partial evaluator LIX, which works on the same annotations as LOGEN.

Michael Leuschel