Sponsor
Portland State University. Department of Computer Science
Document Type
Technical Report
Publication Date
5-2009
Subjects
Compilers (Computer programs), Compiling (Electronic computers), Functional programming (Computer science), Logic programming
Abstract
Typed programming languages offer safety guarantees that help programmers write correct code, but typical language implementations offer no proof that source-level guarantees extend to executable code. Moreover, typical implementations link programs with unsafe runtime system (RTS) code. I present a compiler for the functional language Haskell that preserves some of the properties of Haskell’s type system. The soundness proof for the combination of the compiler and a verified RTS requires a proof that the compiler emits code that cooperates correctly with the RTS. In particular, the latter proof must address the boundary between the user program and the garbage collector. In this paper, I introduce a minimalist intermediate language type system that ensures that well-typed programs cannot make the garbage collector go wrong. I also discuss compilation strategies that allow simplifying the RTS. The work I present in this paper yields a simple and safe compilation system.
Persistent Identifier
https://archives.pdx.edu/ds/psu/30748
Citation Details
Chevalier, Timothy Jan, "The Design and Implementation of a Safe, Lightweight Haskell Compiler" (2009). Computer Science Faculty Publications and Presentations. 215.
https://archives.pdx.edu/ds/psu/30748
Description
Portland State University Computer Science Department Technical Report #09-05, 2009.