The interest about functional programming languages is increased because of its simplicity, expressive power, and mathematical foundation as well as referential transparancy. However the implementation of functional languages is difficult on von Neumann computer.
In this thesis, a lazy functional programming language is designed and its compiler is implemented. Source program is transformed to combinators by the recursive supercombinator graph reduction [Johnsson 85]. These combinators are leads to EM(Encoding Machine) code from which ACK (Amsterdam Compiler Kit) can produce various target code. In addition to these, user interface such as pattern matching, layout analysis, are stressed.
The major effect of this thesis is that we will be able to implement functional language with ease by virtue of establishing the interface between combinator and EM code.