Content area

Abstract

Functional programming offers an advantage over imperative programming: functional programs are easier to reason about and understand, which makes certain classes of errors less common. Yet, the two disciplines have some pitfalls in common: any computation, functional or not, may be non-terminating, or may terminate in a run-time error. Turner describes a discipline called “Total Functional Programming” (TFP) in which these pitfalls are impossible, due to some easily-checked rules which require all recursion to be done structurally. [30]

In this report, I detail my findings about the practical benefits and limitations of total functional programming, as well as the interactions which arise between TFP and the design and implementation of a rich functional programming language. These findings are the result of implementing a TFP compiler as a modification of the Glasgow Haskell Compiler (GHC), as well as a total standard library and a variety of total example programs.

Details

1010268
Classification
Title
Practical programming with total functions
Number of pages
89
Degree date
2010
School code
0465
Source
MAI 49/01M, Masters Abstracts International
ISBN
978-1-124-17749-6
Committee member
Heliotis, James E.; Radziszowski, Stanislaw P.
University/institution
Rochester Institute of Technology
Department
Computer Science
University location
United States -- New York
Degree
M.S.
Source type
Dissertation or Thesis
Language
English
Document type
Dissertation/Thesis
Dissertation/thesis number
1480242
ProQuest document ID
751589202
Document URL
https://www.proquest.com/dissertations-theses/practical-programming-with-total-functions/docview/751589202/se-2?accountid=208611
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Database
ProQuest One Academic