Similix In Stratego

Visser
Similix is a partial evaluator for a Lisp-like language.

Goals

The goal of this project is to implement the partial evaluator for Similix in Stratego.

ResearchInterests questions

  • Does formulation of partial evaluation using separate rules and strategies make implementation of partial evaluation more reusable, maintainable, and readable?

  • Does such an implementation scale up to application of partial evaluation of large programs?

Project Description

Planning

  • Literature
    • Transform:PartialEvaluation
    • Stratego:StrategoPublications

  • Similix
    • What does it do?
    • Architecture?

  • Example programs

  • Tools
    • Stratego:StrategoDownload
    • XT?

  • Infrastructure
    • Parser for Similix
    • Type-checker?
    • Pretty-printer
    • Bound-variable renaming
    • Steal from TigerCompiler

  • Partial evaluator
    • find out how it works
    • what should be done
    • expected problems