Results 1 
9 of
9
Elementary strong functional programming
, 1995
"... Functional programming is a good idea, but we haven’t got it quite right yet. What we have been doing up to now is weak (or partial) functional programming. What we should be doing is strong (or total) functional programming in which all computations terminate. We propose an elementary discipline o ..."
Abstract

Cited by 53 (0 self)
 Add to MetaCart
Functional programming is a good idea, but we haven’t got it quite right yet. What we have been doing up to now is weak (or partial) functional programming. What we should be doing is strong (or total) functional programming in which all computations terminate. We propose an elementary discipline of strong functional programming. A key feature of the discipline is that we introduce a type distinction between data, which is known to be finite, and codata, which is (potentially) infinite. 1 What is Functional Programming? It is widely agreed that functional programming languages make excellent introductory teaching vehicles for the basic concepts of computing. The wide range of topics covered in this symposium is evidence for that. But what is functional programming? Well, it is programming with functions, that much seems clear. But this really is not specific enough. The methods of denotational semantics show us
Total Functional Programming
"... 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 struct ..."
Abstract

Cited by 32 (1 self)
 Add to MetaCart
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.
My fourty years on his shoulders
, 2007
"... Gödel's legacy is still very much in evidence. We will not attempt to properly discuss the full impact of his work and all of the ongoing important research programs that it suggests. This would require a book length manuscript. Indeed, there are several books discussing the Gödel legacy from m ..."
Abstract
 Add to MetaCart
Gödel's legacy is still very much in evidence. We will not attempt to properly discuss the full impact of his work and all of the ongoing important research programs that it suggests. This would require a book length manuscript. Indeed, there are several books discussing the Gödel legacy from many points of view, including, for example, [Wa87], [Wa96], [Da05], and the historically comprehensive five volume set [Go,8603]. In sections 27 we briefly discuss some research projects that are suggested by some of his most famous contributions. In sections 811 we discuss some highlights of a main recurrent theme in our own research, which amounts to an expansion of the Gödel incompleteness phenomenon in a critical direction.
On Characterizations of the Basic Feasible Functionals, Part I — Draft —
, 2000
"... We introduce a typed programming formalism, type2 inflationary tiered loop programs or ITLP2, that characterizes the type2 basic feasible functionals. ITLP2 is based on Bellantoni and Cook’s [BC92] and Leivant’s [Lei95] typetheoretic characterization of polynomialtime and turns out to be closely ..."
Abstract
 Add to MetaCart
We introduce a typed programming formalism, type2 inflationary tiered loop programs or ITLP2, that characterizes the type2 basic feasible functionals. ITLP2 is based on Bellantoni and Cook’s [BC92] and Leivant’s [Lei95] typetheoretic characterization of polynomialtime and turns out to be closely related to Kapron and Cook’s [KC91, KC96] machinebased characterization of the type2 basic feasible functionals.
On Characterizations of the Basic Feasible Functionals, Part I — Draft —
, 2000
"... We introduce a typed programming formalism, type2 inflationary tiered loop programs or ITLP2, that characterizes the type2 basic feasible functionals. ITLP2 is based on Bellantoni and Cook’s [BC92] and Leivant’s [Lei95] typetheoretic characterization of polynomialtime and turns out to be closely ..."
Abstract
 Add to MetaCart
We introduce a typed programming formalism, type2 inflationary tiered loop programs or ITLP2, that characterizes the type2 basic feasible functionals. ITLP2 is based on Bellantoni and Cook’s [BC92] and Leivant’s [Lei95] typetheoretic characterization of polynomialtime and turns out to be closely related to Kapron and Cook’s [KC91, KC96] machinebased characterization of the type2 basic feasible functionals.
Church’s Thesis and Functional Programming
 JOURNAL OF UNIVERSAL COMPUTER SCIENCE
, 2004
"... The earliest statement of Church’s Thesis, from Church (1936) p356 is
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 lambda definable function of positiv ..."
Abstract
 Add to MetaCart
The earliest statement of Church’s Thesis, from Church (1936) p356 is
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 lambda definable 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.
Article Not Finitude but Countability: Implications of Imagination Positing Countability in Time
"... Abstract: In this article, we will show how imagination and time are two sides of the same coin. To explain this, we require that imagination posits countability of alternatives. A countable set of alternatives can be sequenced on a timeline, for example the thinking human’s past, or it can be expre ..."
Abstract
 Add to MetaCart
Abstract: In this article, we will show how imagination and time are two sides of the same coin. To explain this, we require that imagination posits countability of alternatives. A countable set of alternatives can be sequenced on a timeline, for example the thinking human’s past, or it can be expressed as a countably infinite set of cycles such as a Fourier transform gives us. At the heart of our discussion is a technical argument arising from Cantor’s diagonal method. A conclusion that we arrive at is that the finite/infinite opposition, in particular in philosophy, is confusing at best. Instead we propose a countable/uncountable opposition as being a far clearer basis for understanding human imagination and as a basis for the philosophy of time. We discuss Kant, Heidegger and Gödel in this light. We draw out implications for “machine imagination, ” and we propose a new basis for understanding human creativity and imagination.