[RISC-Logo]





A functor is a parameterized program module i.e. a function that takes modules as arguments and returns a module as result. A higher-order functor deals in the same way with modules whose components are functors themselves.

We plan to develop a generic compilation system based on a higher-order functor language and a subset of C++ as its core language. Therefore we seek students in computer science or mathematics who want to pursue their diploma thesis in one of the following topics:

Design of a Higher-Order Functor-Language
You help to design the functor language, to formalize its semantics, and to implement functors as run-time functions with modules arguments and results. Your main tasks are the use of formal methods and their implementation in the compilation system

Generation of Instantiated Functor Code
You help to construct the kernel of the compilation system and the compile-time implementation of functors by code instantiation. Your task also includes the automatization of generic source and target code management.

Development of a Basic Functor Library
You help to implement a C++ interface of the module system and to construct a functor library of basic datatypes and constructors. Your main tasks are the formal definition of abstract datatypes and their correct, elegant, and efficient implementation.
Furthermore we plan to develop software tools in programming projects and diploma theses.

All students will closely cooperate in a professionally organized project and get involved in the formal theory as well as its implementation. A basic interest (not necessarily prior knowledge) in semantics of programming languages and compiler construction is required.

We will start this work around WS 95/SS 96. If you are interested, please contact Wolfgang Schreiner as soon as possible.


Wolfgang.Schreiner@risc.uni-linz.ac.at
($Date: 1995/06/20 13:35:33 $)