![[RISC-Logo]](/images/risc-logo.gif)
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 $)