## Total Functional Programming (2004)

Venue: | Journal of Universal Computer Science |

Citations: | 30 - 1 self |

### BibTeX

@ARTICLE{Turner04totalfunctional,

author = {David Turner},

title = {Total Functional Programming},

journal = {Journal of Universal Computer Science},

year = {2004},

volume = {10},

pages = {187--209}

}

### Years of Citing Articles

### OpenURL

### Abstract

We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Church had developed to investigate this and other problems in the foundations of mathematics: the calculus of lambda conversion. Both the Thesis and the lambda calculus have been of seminal influence on the development of Computing Science. The main subject of this article is the lambda calculus but I will begin with a brief sketch of the emergence of the Thesis. The epistemological status of Church’s Thesis is not immediately clear from the above quotation and remains a matter of debate, as is explored in other papers of this volume. My own view, which I will state but not elaborate here, is that the thesis is empirical because it relies for its significance on a claim about what can be calculated by mechanisms. This becomes clearer in

### Citations

1332 | Monads for functional programming - Wadler - 1993 |

462 | Domain theory - Abramsky, Jung - 1994 |

398 | LCF considered as a programming language - Plotkin - 1977 |

333 | The Calculi of Lambda Conversions - Church - 1941 |

280 | An unsolvable problem of elementary number theory - Church - 1936 |

266 | Programming in MartinLöf’s Type Theory, an introduction - Nordstrom, Petersson, et al. - 1990 |

220 | Data types as lattices - Scott - 1976 |

196 | A new implementation technique for applicative languages - Turner - 1979 |

192 | The next 700 programming languages - Landin - 1966 |

146 |
a non-strict functional language with polymorphic types
- Turner, Miranda
- 1985
(Show Context)
Citation Context ... f x of B. Note that the function isn’t given unless we are told its domain and codomain. This is reflected very directly in modern strongly typed functional programming languages, such as Miranda † [=-=Turner 1985-=-], Haskell [Hudak 1992], or the functional subset of Standard ML [Harper 1986]. The domain and codomain of each function is either stated in or inferable from the program text and the functions are de... |

135 | Towards a mathematical semantics for computer languages - Scott, Strachey |

129 | 98 language and libraries: the Revised Report - Haskell - 2003 |

100 | An overview of Miranda - Turner - 1990 |

81 | Constable et al. Implementing Mathematics with the Nuprl Proof Development System - L - 1986 |

81 | Über die Bausteine der mathematischen Logik - Schönfinkel - 1924 |

66 | An intuitionistic theory of types - Martin-Löf - 1998 |

65 |
et al. Report on the Programming Language Haskell
- Hudak, Jones, et al.
- 1992
(Show Context)
Citation Context ...e function isn’t given unless we are told its domain and codomain. This is reflected very directly in modern strongly typed functional programming languages, such as Miranda † [Turner 1985], Haskell [=-=Hudak 1992-=-], or the functional subset of Standard ML [Harper 1986]. The domain and codomain of each function is either stated in or inferable from the program text and the functions are defined by equations, ty... |

49 | Constructive set theory - Myhill - 1975 |

45 | On undecidable propositions of formal mathematical systems - Gödel - 1934 |

43 | and GCrard Huet. The calculus of constructions - Coquand - 1988 |

43 | A predicative analysis of structural recursion - Abel, Altenkirch - 2002 |

37 |
The SASL language manual
- Turner
- 1976
(Show Context)
Citation Context ... (Y H), creates a loop in the graph, increasing the amount of sharing. The combinators are a target code for a compiler for compilation from a high level functional language. Initially this was SASL (=-=Turner 1976-=-) and in later incarnations of the system, Miranda. While using a set of combinators fixed in advance is a good solution if graph reduction is to be carried out by an interpreter, if the final target ... |

23 | Another Algorithm for Bracket Abstraction - Turner - 1979 |

21 | Computational foundations of basic recursive function theory - Constable, Smith - 1988 |

19 | Partial objects in Type Theory - Smith - 1988 |

17 | Walther recursion - McAllester, Arkondas - 1996 |

12 | On Computable Numbers with an Application to the Entscheidungsproblem - unknown authors - 1936 |

10 |
On a hitherto unutilized extension of the finitary standpoint
- Gödel
- 1958
(Show Context)
Citation Context ...ed lambda calculus, equipped with N as a base type and primitive recursion, can express every recursive function of arithmetic whose totality is provable in first order number theory (a result due to =-=Gödel, 1958-=-). A proposed elementary functional programming system along these lines, but including codata as well as data, is discussed in Turner (2004). A less obvious but most striking consequence of strongly ... |

10 | Ensuring termination in ESFP - Telford, Turner - 2000 |

7 |
Sur la non-contradiction de l’arithmétique, Jounal für die reine und angewandteMathematik 166: 1–8. English translation in [Herbrand
- Herbrand
- 1971
(Show Context)
Citation Context ...rned out to be equivalent. Church (1936, quoted above) showed that his own theory of lambda definable functions yielded the same functions on N k → N as the recursive functions of Herbrand and Gödel [=-=Herbrand 1932-=-, Gödel 1934]. This was proved independently by Kleene (1936). A few months later Turing (1936) introduced his concept of logical computing machine (LCM) - a finite automaton with an unbounded tape di... |

6 | Une extension de l’interprétation fonctionnelle de Gödel à l’analyse - Girard - 1971 |

6 | 1978]: 'Choice implies excluded middle', Zeit. Logik und Grundlagen der - GOODMAN, MYHILL |

6 | Experience with a large scientific application in a functional language - PAGE, MOE - 1993 |

5 | Barendregt: The Lambda Calculus, its Syntax and semantics - P - 1984 |

5 | Jones: Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine - Peyton - 1992 |

4 | Pitts “A Co-induction Principle for Recursively Defined Domains - M - 1994 |

3 | Cooperative Association for Internet Data Analysis (CAIDA), http://www.caida.org - John - 1960 |

2 | The convergence of mildly context-sensitive grammatical formalisms - unknown authors - 1991 |

1 | Review of A M Turing (1936) “On computable numbers - Church - 1937 |

1 | cell survival gene ced-9 encodes a functional homolog of the mammalian proto-oncogene bcl-2, Cell 1994, 76(4):665-76 Publish with BioMed Central and every scientist can read your work free of charge "BioMedcentral will be the most significant develop - unknown authors - 1958 |

1 | This and other papers of Escardo can be found at http://www.cs.bham.ac.uk/∼mhe/papers - Edalat, McCusker - 1996 |

1 | Published by Oxford University Computing - Thesis - 1983 |

1 | The Formulae as Types Notion of Construction”, privately circulated letter - Howard - 1969 |

1 | Long Distance Scrambling and Tree Adjoining Grammars - unknown authors - 1991 |

1 | Kleene “Lambda-Definability and Recursiveness - C - 1936 |

1 | pp 167–184.) R. Milner “A Theory of Type Polymorphism - unknown authors - 1985 |

1 | Strachey “Fundamental Concepts in Programming Languages”, originally notes for an International Summer School on computer programming - Christopher - 1967 |

1 | Abstract Stone Duality”, privately circulated, 2002 — this and published papers about ASD can be found at http://www.cs.man.ac.uk/∼pt/ASD - Taylor |