## Total Functional Programming (2004)

### Cached

### Download Links

- [www.cs.kent.ac.uk]
- [www.eis.mdx.ac.uk]
- [sblp2004.ic.uff.br]
- DBLP

### Other Repositories/Bibliography

Venue: | Journal of Universal Computer Science |

Citations: | 31 - 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

1363 | The Essence of Functional Programming - Wadler - 1992 |

485 | Domain theory - Abramsky, Jung - 1994 |

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

344 | The calculi of lambda conversion - Church - 1941 |

301 | An Unsolvable Problem of Elementary Number Theory - Church |

276 | Programming in Martin-Löf’s Type Theory. An Introduction - Nordström, Petersson, et al. - 1990 |

228 | Data types as lattices - Scott - 1976 |

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

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

153 |
Miranda: a non-strict functional language with polymorphic types
- Turner
- 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... |

141 | 98 Language and Libraries: The Revised Report - Haskell - 2003 |

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

103 | An overview of Miranda - Turner - 1990 |

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

82 | Constable et al., Implementing Mathematics with the NuPRL - L - 1986 |

71 | A theory of types - MARTIN-LÖF - 1971 |

67 |
et al. “Report on the Programming Language Haskell
- Hudak
- 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... |

54 | Constructive set theory - Myhill - 1975 |

50 | On Undecidable Propositions of Formal Mathematical Systems. Lecture notes taken by Kleene and Rosser at the Institute for Advanced Study - Godel - 1965 |

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

44 | and Gérard Huet. The calculus of constructions - Coquand - 1988 |

40 |
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 ... |

24 | 1979b) “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 - 1989 |

18 | Walther recursion - McAllester, Arkoudas - 1996 |

12 | Turing “On computable numbers with an application to the Entscheidungsproblem - M - 1936 |

10 |
On a hitherto unutilized extension of the finitary standpoint”, Dialectica 12
- 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 |

8 | 98 Language and Libraries: The Revised Report. Cambridge Univ - Haskell - 2003 |

7 |
Sur la non-contradiction de l’arithmetique”, Journal fur die reine und angewandte Mathematik , 166:1–8
- Herbrand
- 1932
(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’interpretation fonctionnelle de Gödel a l’analyse et son application a l’elimination des coupures dans l’analyse et la theorie des types - Girard - 1971 |

6 | Choice Implies Excluded Middle, Zeit. Logik und Grundlagen der Math - Goodman, Myhill - 1978 |

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 | McCarthy“Recursive Functions of Symbolic Expressions and their Computation by - John - 1960 |

2 | et al. “The Combination of Symbolic and Numerical Computation for Three-Dimensional Modelling - Major, Turcotte - 1991 |

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

1 | Real PCF extended with existential is universal”, eds - Curry, R - 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 | Johnsson “Lambda Lifting: Transforming Programs to Recursive Equations - Thomas - 1985 |

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 |