## Fixed Points and Extensionality in Typed Functional Programming Languages (1992)

Citations: | 14 - 5 self |

### BibTeX

@MISC{Howard92fixedpoints,

author = {Brian T. Howard},

title = { Fixed Points and Extensionality in Typed Functional Programming Languages},

year = {1992}

}

### Years of Citing Articles

### OpenURL

### Abstract

### Citations

1163 |
The Lambda Calculus Its Syntax and Semantics
- Barendregt
- 1984
(Show Context)
Citation Context ...ped functional programming languages. The particular languages we will be considering are all extensions of the simply-typed lambda calculus,s�� , as described for example in Appendix A of Barendr=-=egt [1]. Th-=-e systems�� itself is not particularly expressive; since every term has a normal form, only terminating functions are definable. 1 In Chapter 2 we add an explicit fixed point operator on values, w... |

554 |
The Implementation of Functional Programming Languages
- Jones
- 1987
(Show Context)
Citation Context ...easons to study arbitrary order. One motivation is parallel execution. If the result of evaluation does not rely on evaluation order, then many subexpressions may safely be evaluated in parallel (see =-=[25, 40]-=-, for example, for related discussion). Another reason to consider arbitrary evaluation order is to identify desirable properties of a particular implementation. For example, if a set of reduction (or... |

466 | Combining Monads
- King, Wadler
- 1993
(Show Context)
Citation Context ... M = (x: 0: M )x = 2 oe x is true, i.e., all such terms are equal. This isomorphism is an instance of a general condition for showing that lifting is a monad with zero, a concept introduced by Wadler =-=[54]. The monad natural tran-=-sformations j: C : ! T and ��: TT : ! T receive their names "unit" and "multiplication" in part because of an analogy with the corresponding concepts in a monoid; the diagrams ... |

455 | Computational lambda-calculus and monads
- Moggi
- 1989
(Show Context)
Citation Context ...t of the adjunction; details may be found in [31, 32], for example. For our purposes, it will be more useful to consider an alternate description of a monad, the Kleisli triple, which is discussed in =-=[37]. Instea-=-d of the multiplication ��, a Kleisli triple provides an arrow f : TX!TY for every arrow f : X!TY of C. The multiplication ��X may then be obtained from (id TX ) ; conversely, the arrow f may ... |

405 |
LCF considered as a programming language
- Plotkin
- 1977
(Show Context)
Citation Context ...culus with functions, pairing, fixed-point operators and arbitrary algebraic data types. We will refer to this language as PCF, since it is based on the calculus considered in Plotkin's seminal paper =-=[43]-=-, with pairing and algebraic data types added. 1 If we include algebraic data types of natural numbers and booleans, as in [43, 50], then it is easy to program any partial recursive function on the na... |

372 |
Towards a theory of type structure
- Reynolds
- 1974
(Show Context)
Citation Context ...ducts, sums, and least fixed points are not extensional; as a result, many desirable equations between terms are not provable. System F, which was discovered independently by Girard [16] and Reynolds =-=[46]-=-, extends the simply typed lambda calculuss! with type variables and the polymorphic type 8t: oe. Formally, we add the following term formation rules: (8 Intro) \Gamma . M : oe \Gamma . (t: M ): 8t: o... |

340 |
The Calculi of Lambda-Conversion
- Church
- 1941
(Show Context)
Citation Context ...P and N 2 !! P . In lambda calculus, it is traditional to say that a confluent notion of reduction is Church-Rosser, since confluence for untyped lambda calculus was first proved by Church and Rosser =-=[9]-=-. The convertibility relation $ on typed terms is the least type-respecting equivalence relation containing reduction. This can be visualized by saying that \Gamma . M $ N : oe iff there is a sequence... |

256 |
Combinatory Reduction Systems
- Klop
- 1980
(Show Context)
Citation Context ...e execution, M 2 A slick presentation is given in [1]. However, the exact counterexample given there cannot be typed. Instead, one must consider a version of the counterexample given in Klop's thesis =-=[28]-=-. CHAPTER 2. EXTENSIONALITY IN PCF WITH ALGEBRAIC TYPES 5 reduces to N using all reduction rules iff M reduces to N without (j) and (sp). Thus we have not lost anything by dropping these rules. Moreov... |

231 |
Une extension de l’interpretation de Gödel, à l’analyse, et son application l’élimination des coupures dans l’analyse et la théorie des types
- Girard
- 1971
(Show Context)
Citation Context ... types such as products, sums, and least fixed points are not extensional; as a result, many desirable equations between terms are not provable. System F, which was discovered independently by Girard =-=[16]-=- and Reynolds [46], extends the simply typed lambda calculuss! with type variables and the polymorphic type 8t: oe. Formally, we add the following term formation rules: (8 Intro) \Gamma . M : oe \Gamm... |

230 |
Categories for the working mathematician, volume 5 of Graduate Texts in Mathematics
- Lane
- 1998
(Show Context)
Citation Context ...! UL, the unit of the adjunction, such that each arrow jX : X!UL(X) is universal from X to U , i.e., for any other arrow f : X!U (Y ) there is a unique arrow g: L(X)!Y such that f = U (g) ffi jX (see =-=[32]-=-, for example). This arrow g is the strict function ' \Gamma1 (f) described above. In general, an adjunction L a U for functors L: C!D and U : D!C creates a monad in C. The monad endofunctor T is give... |

220 |
Call-by-name, call-by-value, and the *-calculus
- Plotkin
- 1975
(Show Context)
Citation Context ...ing extra structure with lifting. The result we will discuss in this section is that two particularly obvious choices for u using lifting correspond to callby -name and call-by-value versions ofs(see =-=[42]-=- for the original discussion of call-by-name and call-by-value; a presentation of domain models for these calculi which are essentially the same as the types n and v below is in [5]). The type n j aet... |

209 | Call-by-name, call-by-value and the λ-calculus - Plotkin - 1975 |

175 |
The category-theoretic solution of recursive domain equations
- Smyth, Plotkin
(Show Context)
Citation Context ... to solve RDEs where the type variable may occur negatively; for example, to model the untyped -calculus we need to solve equations such as X �� = X!X. The standard approach, due to Smyth and Plot=-=kin [51]-=-, is to consider the category of embedding-projection pairs, also known as retracts. Given a category C such that each homset C(A; B) is enriched with a partial order structure , we say that a pair (f... |

163 |
A non-strict functional language with polymorphic types
- Miranda
- 1985
(Show Context)
Citation Context ...artial recursive function on the natural numbers. With algebraic data types of trees, lists, stacks, and so on, we may write common functional programs in the style of Miranda or Lazy ML, for example =-=[53]. While mo-=-st sequential implementations of lazy languages are based on a deterministic (typically "leftmost ") evaluation order, there are several reasons to study arbitrary order. One motivation is p... |

158 | Semantic domains
- Gunter, Scott
- 1990
(Show Context)
Citation Context ...PPO R , the interpretation of u is just the trivial cpo. The usual semantic approach is to build the fixed point on top of a domain which has some non-trivial structure to begin with (see for example =-=[20, 51]-=-). We may use a much simpler syntactic reformulation to avoid the trivial solution by explicitly introducing extra structure with lifting. The result we will discuss in this section is that two partic... |

154 | Über eine bisher noch nicht benützte Erweiterung des finiten Standpunkts - Gödel - 1958 |

145 |
Type systems for programming languages
- MITCHELL
- 1990
(Show Context)
Citation Context ...\Gamma is a term with a "hole", such that if \Gamma . M : oe, then C[M ] will be a well-typed term, formed by "plugging" M into the hole. The following basic lemmas about terms are=-= easily proved; see [35]-=-, e.g., for more details. Lemma 2.1.1 If \Gamma . M : oe, then every free variable of M appears in \Gamma. Lemma 2.1.2 If \Gamma . M : oe and \Gamma 0 ` \Gamma contains all the free variables of M , t... |

143 |
Introduction to Higher-Order Categorical Logic
- Lambek, Scott
- 1986
(Show Context)
Citation Context ...:1:\Omega and y: 0: 3 are inverses, hence 0 �� = 1; it follows that every type A is isomorphic to 0, since A �� = A \Theta 1 �� = A \Theta 0 �� = 0. For another approach to the proof, =-=see for example [31]-=-, section I.8. CHAPTER 3. INDUCTIVE AND PROJECTIVE TYPES 22 the motivation for the calculi we study here. In the approach we take to giving a categorical model for a typed functional language, the obj... |

126 | On theories with a combinatorial definition of ’equivalence - Newman - 1942 |

114 |
Inductively defined types
- Coquand, Paulin-Mohring
(Show Context)
Citation Context ...l 0 , which requires recursion up to ffl 0 itself [8]. The method we use to represent ordinal numbers and construct the hierarchy of Hardy functions is based on an example given by Coquand and Paulin =-=[11]-=-. To define H ff for ffsffl 0 we will need to choose a fundamental sequence for each limit ordinalsffl 0 ; that is, for each limit ordinalswe need an increasing, natural number indexed sequence h[0]; ... |

109 |
Proofs and Types. Cambridge Tracts
- Girard, Lafont, et al.
- 1989
(Show Context)
Citation Context ... \Delta \Delta \Delta. Proof. In section 3.5 we give a translation ofs�� into Girard's System F, with the property that if M \Gamma! N ins�� r then M \Gamma! + N in F; since F is strongly norm=-=alizing [17], th-=-is proves thats�� r is also, since otherwise we would be able to construct the infinite reduction sequence M 1 \Gamma! + M 2 \Gamma! + M 3 \Gamma! + \Delta \Delta \Delta in F. Theorem 3.3.3 (Confl... |

83 |
Observable algorithms on concrete data structures
- CURIEN
- 1992
(Show Context)
Citation Context ... \Gamma! M f false M N \Gamma! not N not true \Gamma! false not false \Gamma! true: This is just the process of determining the sequentiality index of the function defined by the algebraic rules (see =-=[3]-=-) and rearranging arguments so that the index is always the leftmost unevaluated argument. If a CHAPTER 2. EXTENSIONALITY IN PCF WITH ALGEBRAIC TYPES 19 function is inherently non-sequential then we w... |

80 |
Interpretation of analysis by means of constructive functionals of finite types
- Kreisel
- 1959
(Show Context)
Citation Context ...ion of the functions expressible in T is that they are the functions definable by transfinite recursion up to some ordinal ff ! ffl 0 , where ffl 0 is the least ordinal ffl such that ffl = ! ffl (see =-=[30] or -=-[48]; a good text covering this subject is [47]). We will show thats�� is more expressive than T, thus completing the proof of Theorem 3.4.1, by constructing the Hardy function H ffl 0 , which req... |

70 |
Recursive types reduced to inductive types
- Freyd
- 1990
(Show Context)
Citation Context ...ng fact in CPO is that the last two will always be isomorphic. If oe is unconditionally pointed, then all three coincide. This result is related to recent work of Barr, Freyd, and Fokkinga and Meijer =-=[2, 14, 13], al-=-though it was arrived at independently. 4.1 Syntax of the languages?ae In this section we will describe the syntax for the types and terms ofs?ae as an extension to the languages�� of the previous... |

69 | A categorical programming language
- Hagino
- 1987
(Show Context)
Citation Context ...r resolution of where nontermination is possible than that provided by other type systems. In particular, we compare our work to Plotkin's versions of PCF [43, 44] and Hagino's Categorical Data Types =-=[21, 22]. In-=-deed, our work may be viewed as an extension of Hagino's language, which is roughly equivalent in expressive power tos�� , into a system equivalent in power to PCF. The existence of a clean catego... |

59 |
Combining algebra and higher-order types
- Breazu-Tannen
- 1988
(Show Context)
Citation Context ...er any algebraic data types, provided that the algebraic rewrite rules are all linear and confluent when considered apart from PCF. This result, described in Section 2.4, extends a similar theorem of =-=[6]-=- to pairing and fixed-point operators. Our proof technique combines labelled reduction [1] with the method of [6], which relies on strong normalization. In combining lambda calculus with additional re... |

54 |
Polymorphic rewriting conserves algebraic strong normalization
- Breazu-Tannen, Gallier
- 1991
(Show Context)
Citation Context ... fi-reduction only) remains confluent when any confluent (not necessarily linear) R is added. While the original proof of one lemma has a subtle but reparable bug when non-linear rules are considered =-=[7]-=-, we observe that the proof is correct if all the rules in R are linear. Therefore, our confluence proof for pcf N will be based on the original development of [6]. We then use the linearity of R agai... |

50 | A typed lambda calculus with categorical type constructors
- Hagino
- 1987
(Show Context)
Citation Context ...r resolution of where nontermination is possible than that provided by other type systems. In particular, we compare our work to Plotkin's versions of PCF [43, 44] and Hagino's Categorical Data Types =-=[21, 22]. In-=-deed, our work may be viewed as an extension of Hagino's language, which is roughly equivalent in expressive power tos�� , into a system equivalent in power to PCF. The existence of a clean catego... |

46 | Automatic synthesis of typed Λprograms on term algebras. Theoretical Computer Science 39:135–154 - Böhm, Berarducci - 1985 |

43 |
Lambda-calculi for (strict) parallel functions
- Boudol
- 1994
(Show Context)
Citation Context ... versions ofs(see [42] for the original discussion of call-by-name and call-by-value; a presentation of domain models for these calculi which are essentially the same as the types n and v below is in =-=[5]-=-). The type n j aet: (t!t)? adds to u the structure representing the possibility that a term might be undefined after an unfolding. Unfolding a term of type n will correspond to getting the head of an... |

43 | What’s so special about Kruskal’s theorem and the ordinal Γ0? A survey of some results in proof theory
- Gallier
- 1991
(Show Context)
Citation Context ...since we may define the Veblen hierarchy of functions ' ff : ord!ord for all ff: ord, we have a system of notation for all the ordinals less than \Gamma 0 , the first "strongly critical" ord=-=inal (see [15]-=- for a very readable discussion of the significance of \Gamma 0 ). The particular Veblen hierarchy to which we refer is that starting from ' 0 (fi) = ! fi ; then the function ' ff for ff ? 0 enumerate... |

39 |
A type theoretical alternative to
- Scott
- 1969
(Show Context)
Citation Context ... since it is based on the calculus considered in Plotkin's seminal paper [43], with pairing and algebraic data types added. 1 If we include algebraic data types of natural numbers and booleans, as in =-=[43, 50]-=-, then it is easy to program any partial recursive function on the natural numbers. With algebraic data types of trees, lists, stacks, and so on, we may write common functional programs in the style o... |

33 | The partial lambda calculus
- Moggi
- 1988
(Show Context)
Citation Context ...ypes to model call-by-name and call-by-value versions of the untyped lambda calculus. A question which we did not have time to pursue is whether we can also model the partial lambda calculus of Moggi =-=[36] in -=-this manner. Other open problems which remain are to find a more exact characterization of the functions definable ins�� , to extend the class of algebraic rules which support a leftmost reduction... |

31 |
semantics with partial functions, unpublished lecture notes from
- Plotkin
- 1985
(Show Context)
Citation Context ... allow bounded computations, we obtain a finer resolution of where nontermination is possible than that provided by other type systems. In particular, we compare our work to Plotkin's versions of PCF =-=[43, 44] and-=- Hagino's Categorical Data Types [21, 22]. Indeed, our work may be viewed as an extension of Hagino's language, which is roughly equivalent in expressive power tos�� , into a system equivalent in ... |

30 |
On theories with a combinatorial definition of "equivalence
- Newman
- 1942
(Show Context)
Citation Context ...ed to show thats�� r is weakly confluent, i.e., if M \Gamma! N and M \Gamma! P then N and P have a common reduct, since by the previous theorems�� r is strongly normalizing --- using Newman's =-=theorem [39]-=- we may conclude that it is confluent. It is easy to see that it is weakly confluent, since there are no critical pairs, hence we are done. CHAPTER 3. INDUCTIVE AND PROJECTIVE TYPES 34 To continue the... |

25 |
Inductive Methods for Proving Properties of Programs
- Manna, Ness, et al.
- 1973
(Show Context)
Citation Context ...emaining approximation rules asserts that ? oe is the least element of pointed type oe: (? ) ; . ptd oe \Gamma . ? oesM : oe: The other rule is a form of Scott's fixed point induction ([50]; see also =-=[33]-=-). We only consider the special case where the inclusive predicate is an approximation. This is the most complex inference rule of the proof system; the second hypothesis should be read as saying that... |

23 |
The PIMS Program
- Henderson
- 1980
(Show Context)
Citation Context ...easons to study arbitrary order. One motivation is parallel execution. If the result of evaluation does not rely on evaluation order, then many subexpressions may safely be evaluated in parallel (see =-=[25, 40]-=-, for example, for related discussion). Another reason to consider arbitrary evaluation order is to identify desirable properties of a particular implementation. For example, if a set of reduction (or... |

23 |
The typed lambda calculus is not elementary recursive
- Statman
- 1979
(Show Context)
Citation Context ...e with no free variables) 1 In fact, the only functions definable over the Church numerals are the extended polynomials , which include addition, multiplication, and zero-test, but not exponentiation =-=[49, 52]. CHA-=-PTER 1. INTRODUCTION 2 that have normal forms in the full, non-confluent system. This supplies a theoretical basis for the folkloric belief that the extensional rules do not have any "computation... |

21 |
Algebraically compact functors
- Barr
- 1993
(Show Context)
Citation Context ...ng fact in CPO is that the last two will always be isomorphic. If oe is unconditionally pointed, then all three coincide. This result is related to recent work of Barr, Freyd, and Fokkinga and Meijer =-=[2, 14, 13], al-=-though it was arrived at independently. 4.1 Syntax of the languages?ae In this section we will describe the syntax for the types and terms ofs?ae as an extension to the languages�� of the previous... |

19 |
A note on categorical datatypes
- Wraith
- 1989
(Show Context)
Citation Context ...rm algebra of an algebraic signature, touching only briefly on iteration at higher types. The corresponding translation for a projective type t: oe was given independently by Hasegawa [24] and Wraith =-=[58]. He-=-re are the translations for the types: ��t: oe j 8t: (oe!t)!t t: oe j 9t: (t!oe) \Theta t j 9t: 8u: ((t!oe)!t!u)!u The translations of the terms for these types are given in Table 3.2. It is now a... |

17 |
Provably computable functions and the fastgrowing hierarchy
- Buchholz, Wainer
- 1985
(Show Context)
Citation Context ... subject is [47]). We will show thats�� is more expressive than T, thus completing the proof of Theorem 3.4.1, by constructing the Hardy function H ffl 0 , which requires recursion up to ffl 0 its=-=elf [8]-=-. The method we use to represent ordinal numbers and construct the hierarchy of Hardy functions is based on an example given by Coquand and Paulin [11]. To define H ff for ffsffl 0 we will need to cho... |

17 | Program calculation properties of continuous algebras
- Fokkinga, Meijer
- 1991
(Show Context)
Citation Context ...ng fact in CPO is that the last two will always be isomorphic. If oe is unconditionally pointed, then all three coincide. This result is related to recent work of Barr, Freyd, and Fokkinga and Meijer =-=[2, 14, 13], al-=-though it was arrived at independently. 4.1 Syntax of the languages?ae In this section we will describe the syntax for the types and terms ofs?ae as an extension to the languages�� of the previous... |

15 | eine bisher noch nicht benutzte Erweiterung des finiten Standpunktes - Uber - 1958 |

12 | New Foundations For Fixpoint Computations
- Crole, Pitts
- 1990
(Show Context)
Citation Context ...nitiality; for example, we do not know how to use fixed point induction to show that F (id) = id , when F contains a retractive type (see below). The recent work of Crole and Pitts on their FIX-Logic =-=[12]-=- may offer a solution to this difficulty, although we have not yet been able to work out the precise relation between their system and ours. To finish the proof system fors?ae , we need to present the... |

12 | Definierbare Funktionen im λ-Kalkül mit Typen. Arkhiv für mathematische Logik und Grundlagenforschung - Schwichtenberg - 1976 |

11 |
Definierbare Funktionen im #-Kalkul mit Typen, Archief f ur
- Schwichtenberg
- 1976
(Show Context)
Citation Context ...e with no free variables) 1 In fact, the only functions definable over the Church numerals are the extended polynomials , which include addition, multiplication, and zero-test, but not exponentiation =-=[49, 52]. CHA-=-PTER 1. INTRODUCTION 2 that have normal forms in the full, non-confluent system. This supplies a theoretical basis for the folkloric belief that the extensional rules do not have any "computation... |

10 |
Automatic synthesis of typed-programs on term algebras
- Bohm, Berarducci
- 1985
(Show Context)
Citation Context ... (ht; x: oei: M )h��; N i \Gamma! + fN=xgf��=tgM (hx: oe; y: �� i: M )hN; P i \Gamma! + fP=ygfN=xgM: The general translation for an inductive type ��t: oe was essentially given by Bohm=-= and Berarducci [4]-=-, although they were mainly concerned with representing iteratively defined functions over the term algebra of an algebraic signature, touching only briefly on iteration at higher types. The correspon... |

10 | Unique normal forms for lambda calculus with surjective pairing - Klop, Vrijer - 1989 |

10 |
Subrecursion: Functions and Hierarchies, volume 9 of Oxford Logic Guides
- Rose
- 1984
(Show Context)
Citation Context ...ery often; for example, we may write the Ackermann function using Z as Z nat!nat (succ)(f : nat!nat : Z nat (f1)f): 3 Actually due to P'eter; Ackermann's original function was somewhat different; see =-=[47]-=- for example. CHAPTER 3. INDUCTIVE AND PROJECTIVE TYPES 37 One significant function which does use the second argument is predecessor: pred = R nat 0(x: nat: y: nat : y): In a language with products, ... |

10 | The λ-calculus is ω-incomplete - Plotkin - 1974 |