The thesis addresses recursive data types, both inductive and coinductive.
It provides their definition and presents some examples, as well as describing
various approaches to their implementation. Subsequently, it focuses on sum
types and the expression case, which can decompose sums into individual
variants and is essential for working with recursive types. It outlines the steps
for implementing these structures in the MiniHaskell programming language
and illustrates the necessary changes in the lexer, parser, type checker and
interpreter. The primary emphasis lies on the practical integration of these
structures into the MiniHaskell programming language, where several usage
examples are demonstrated, showcasing the utility of these structures and
paving the way for potential further extensions.
|