Software Engineering using Typed Functional Programming

Abstract: This thesis makes three distinct contributions to software engineering, using typed functional programming. First, we present a schema to reduce polymorphic properties to an equivalent monomorphic property, for the purpose of testing. Our proof uses parametricity and properties of initial algebras. Second, we compare haskell type classes with their counterpart in C++. We contribute to an improved understanding of language support for generic programming, and hope to facilitate discussion between maintsream and functional programming language communities. Third, we present a parsing library for incremental analysis of source code. This is an example of a non-trivial application of the principles of typed functional programming and lazy evaluation.

  CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)