FP /


Thesis Outline

(Thesis final Chalmers version done 090619.)

Very Lazy Evaluation
Jan Rochel
Computer Science
diploma thesis / master thesis
Primary supervisor
Patrik Jansson (U. of Tech. and Gothenburg U.)
Secondary supervisor
Carsten Sinz (University of Karlsruhe)
Estimated timeframe
Feb - Jun
functional programming, compiler construction
Project website

In my thesis I want to introduce a new execution model for functional programming languages. A system is described and implemented, which can be used to execute programs written in a lazy functional language. Such a system typically includes a compiler for translating a program from the source language into a machine language and an abstract machine that interpretes the machine language thus executing the program.

Opposed to already existing execution models a new approach is chosen based on a new concept called "very lazy evaluation". The approach seems to be very promising and might open up interesting perspectives in the fields of embedded computing, parallel computing, system security, and virtualisation. I'd like to evaluate these perspectives and analyse its competitiveness compared to the conventional concept of expression substitution used by existing compilers for functional languages.

To demonstrate the applicability of the approach, the execution model has been implemented in a compiler (written in Haskell) and an interpreter (written in C). To keep the implementation work feasible, instead of programming a complete compiler for Haskell98 an existing compiler (YHC) is extended by adding a backend that processes YHC-core (an immediate language of YHC).