Total Functional Programming

David A. Turner

Zenodo (CERN European Organization for Nuclear Research) · 2020 · 74 citations · 6 references

DOIFull text

Open access

Concepts

Abstract

Abstract. The driving idea of functional programming is to make programming more closely related to mathematics. A program in a functional language such as Haskell or Miranda consists of equations which are both computation rules and a basis for simple algebraic reasoning about the functions and data structures they define. The existing model of functional programming, although elegant and powerful, is compromised to a greater extent than is commonly recognised by the presence of partial functions. We consider a simple discipline of total functional programming designed to exclude the possibility of nontermination. Among other things this requires a type distinction between data, which is finite, and codata, which is potentially infinite. 1.

References

6