## Partial Intersection Type Assignment in Applicative Term Rewriting Systems (1993)

### Cached

### Download Links

- [www.doc.ic.ac.uk]
- [www.doc.ic.ac.uk]
- [ftp.cs.kun.nl]
- [www.st.cs.ru.nl]
- [www.doc.ic.ac.uk]
- DBLP

### Other Repositories/Bibliography

Venue: | Proceedings of TLCA '93. International Conference on Typed Lambda Calculi and Applications, Utrecht, The Netherlands, volume 664 of Lecture Notes in Computer Science |

Citations: | 17 - 14 self |

### BibTeX

@INPROCEEDINGS{Bakel93partialintersection,

author = {Steffen Van Bakel},

title = {Partial Intersection Type Assignment in Applicative Term Rewriting Systems},

booktitle = {Proceedings of TLCA '93. International Conference on Typed Lambda Calculi and Applications, Utrecht, The Netherlands, volume 664 of Lecture Notes in Computer Science},

year = {1993},

pages = {29--44},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

This paper introduces a notion of partial type assignment on applicative term rewriting systems that is based on a combination of an essential intersection type assignment system, and the type assignment system as defined for ML [16], both extensions of Curry's type assignment system [11]. Terms and rewrite rules will be written as trees, and type assignment will consists of assigning intersection types function symbols, and specifying the way in which types can be assigned to nodes and edges between nodes. The only constraints on this system are local: they are imposed by the relation between the type assigned to a node and those assigned to its incoming and out-going edges. In general, given an arbitrary typeable applicative term rewriting system, the subject reduction property does not hold. We will formulate a sufficient but undecidable condition typeable rewrite rules should satisfy in order to obtain this property. Introduction In the recent years several paradigms hav...

### Citations

1119 | The Lambda Calculus: Its Syntax and Semantics - Barendregt - 1984 |

939 | A theory of type polymorphism in programming - Milner - 1978 |

749 | Rewrite systems
- Dershowitz, Jouannaud
- 1990
(Show Context)
Citation Context ...ent for term rewriting systems, a formal notion of type assignment on term rewriting systems is needed, that is more close to the approach of type assignment in lambda calculus than the algebraic one =-=[12]-=-. The aim of this paper is to present a formal notion of type assignment on term rewriting systems that is close to those defined for the lambda calculus and use intersection types. The notion of type... |

567 | Term Rewriting Systems
- Klop
- 1992
(Show Context)
Citation Context ...Introduction In the recent years several paradigms have been investigated for the implementation of functional programming languages. Not only the lambda calculus [5], but also term rewriting systems =-=[15]-=- and term graph rewriting systems [7] are topics of research. Lambda calculus (or rather combinator systems) forms the underlying model for the functional programming language Miranda [22], term rewri... |

215 |
A filter lambda model and the completeness of type assignment
- Barendregt, Coppo, et al.
- 1984
(Show Context)
Citation Context ...1] which expresses abstraction and application. Many of the now existing type assignment systems for functional programming languages are based on (extensions of) the Curry type assignment system. In =-=[9, 6]-=- the intersection type discipline for the lambda calculus is presented, an extension of Curry's type assignment system. The extension consists of allowing more than one type for term-variables and add... |

159 |
A non-strict functional language with polymorphic types
- Miranda
- 1985
(Show Context)
Citation Context ...ing systems [15] and term graph rewriting systems [7] are topics of research. Lambda calculus (or rather combinator systems) forms the underlying model for the functional programming language Miranda =-=[22]-=-, term rewriting systems are used in the underlying model for the language OBJ [14], and term graph rewriting systems is the model for the language Clean [8, 17]. The lambda calculus, term rewriting s... |

106 |
Term graph rewriting
- BARENDREGT, EEKELEN, et al.
- 1987
(Show Context)
Citation Context ...al paradigms have been investigated for the implementation of functional programming languages. Not only the lambda calculus [5], but also term rewriting systems [15] and term graph rewriting systems =-=[7]-=- are topics of research. Lambda calculus (or rather combinator systems) forms the underlying model for the functional programming language Miranda [22], term rewriting systems are used in the underlyi... |

103 | Complete Restrictions of the Intersection Type Discipline", Theor
- Bakel
- 1992
(Show Context)
Citation Context ...ch Action 3074 "Semagraph" and the Netherlands Organisation for the advancement of pure research (N.W.O.). 1 power, type assignment in this system (and even in the system that does not conta=-=in !, see [1]-=-) is undecidable. The essential type assignment system as presented in this paper is a restriction of the intersection type discipline presented in [6] that satisfies all properties of that system, an... |

102 |
et a!. Principles of OBJ2
- Futatsugi
(Show Context)
Citation Context ...a calculus (or rather combinator systems) forms the underlying model for the functional programming language Miranda [22], term rewriting systems are used in the underlying model for the language OBJ =-=[14]-=-, and term graph rewriting systems is the model for the language Clean [8, 17]. The lambda calculus, term rewriting systems and graph rewriting systems themselves are type free, whereas in programming... |

82 | Partial polymorphic type inference and higher-order unification
- Pfenning
- 1988
(Show Context)
Citation Context ...efined symbol; the symbol Ap is neglected when we are looking for the symbol that is defined in a rewrite rule. The type assignment system we present in this paper is a partial system in the sense of =-=[19]-=-: we not only define how terms and rewrite rules can be typed, but assume that every function symbol already 6 has a type, which structure is usually motivated by a rewrite rule. There are several rea... |

67 | Programming with Intersection Types and Bounded Polymorphism
- Pierce
- 1991
(Show Context)
Citation Context ...type nodes that are shared. Moreover, intersection types seem to be promising for use in functional programming languages, since they seem to provide a good formalism to express overloading (see also =-=[20]-=-). In this paper we define applicative term rewriting systems (ATRS), a slight extension of the term rewriting systems as defined in [15], as the term rewriting systems that contain a special binary o... |

60 |
Clean: A language for functional graph rewriting
- Brus, Eekelen, et al.
- 1987
(Show Context)
Citation Context ...e functional programming language Miranda [22], term rewriting systems are used in the underlying model for the language OBJ [14], and term graph rewriting systems is the model for the language Clean =-=[8, 17]-=-. The lambda calculus, term rewriting systems and graph rewriting systems themselves are type free, whereas in programming the notion of types plays an important role. Type assignment to programs and ... |

60 | Concurrent Clean
- NÃ¶cker, Smetsers, et al.
- 1991
(Show Context)
Citation Context ...e functional programming language Miranda [22], term rewriting systems are used in the underlying model for the language OBJ [14], and term graph rewriting systems is the model for the language Clean =-=[8, 17]-=-. The lambda calculus, term rewriting systems and graph rewriting systems themselves are type free, whereas in programming the notion of types plays an important role. Type assignment to programs and ... |

58 |
Principal type schemes for an extended type theory
- Rocca, S, et al.
- 1984
(Show Context)
Citation Context ...s needed to make sure that substitution is closed on strict types. The operation of expansion replaces types by the intersection of a number of copies of that type and coincides with the one given in =-=[10, 21]-=-. The operation of lifting deals with the introduction of extra (types to) statements in the basis of a derivation, or introduces extra types to term-variables that are bound. Substitution is normally... |

46 |
The spineless tagless g-machine
- Jones, Salkild, et al.
- 1989
(Show Context)
Citation Context ... type assignment on term rewriting systems that follow the `algebraic' approach [12], and are also the kind of rewrite systems an effecient implementation of a functional language would be based upon =-=[18]-=-. Since the pure applicative term rewriting systems are a subclass of the applicative term rewriting systems, all results obtained in this paper are also valid for that subclass. We take the view that... |

39 |
An extension of the basic functionality theory for the - calculus
- Coppo, Dezani-Ciancaglini
- 1980
(Show Context)
Citation Context ...1] which expresses abstraction and application. Many of the now existing type assignment systems for functional programming languages are based on (extensions of) the Curry type assignment system. In =-=[9, 6]-=- the intersection type discipline for the lambda calculus is presented, an extension of Curry's type assignment system. The extension consists of allowing more than one type for term-variables and add... |

35 | Principal type schemes for the strict type assignment system
- Bakel
- 1993
(Show Context)
Citation Context ... ! ] () M has a head normal form. 1.2 Operations on pairs In this subsection we present three different operations on pairs of !basis, type?, namely substitution, expansion, and lifting as defined in =-=[3]-=-. The operation of substitution deals with the replacement of type-variables by types and is a slight modification of the one normally used; this modification is needed to make sure that substitution ... |

34 |
Principal type schemes and -calculus semantics
- Coppo, Dezani-Ciancaglini, et al.
- 1980
(Show Context)
Citation Context ...s needed to make sure that substitution is closed on strict types. The operation of expansion replaces types by the intersection of a number of copies of that type and coincides with the one given in =-=[10, 21]-=-. The operation of lifting deals with the introduction of extra (types to) statements in the basis of a derivation, or introduces extra types to term-variables that are bound. Substitution is normally... |

16 |
Intersection types for combinatory logic
- Dezani-Ciancaglini, Hindley
- 1992
(Show Context)
Citation Context ...that in CL the term K I is not a redex. Because ACL is Curry-closed, it is in fact combinatory complete: every lambda term can be translated into a term in ACL; for details of such a translation, see =-=[5, 13]-=-. Example 2.1.4 If the left hand side of a rewrite rule is F (t 1 , . . . , t n ), then the t i need not be simple variables, but can be terms as well, as for example in the rewrite rule H (S 2 (x; y)... |

11 | Partial Type Assignment in Left Linear Applicative Term Rewriting Systems
- Bakel, Smetsers, et al.
- 1992
(Show Context)
Citation Context ... of lambda calculus. For example, type assignment in term rewriting systems in general does not satisfy the subject reduction property: i.e. types are not preserved under rewriting, as illustrated in =-=[4]-=-. In order to be able to study the details of type assignment for term rewriting systems, a formal notion of type assignment on term rewriting systems is needed, that is more close to the approach of ... |

7 |
Partial Intersection Type Assignment of Rank 2 in Applicative Term Rewriting Systems
- Bakel
- 1992
(Show Context)
Citation Context ...is paper are extensions to those suggested by most functional programming languages in that they do not discriminate against the varieties of function symbols that can be used in patterns. In [4] and =-=[2]-=- partial type assignment systems for (left linear) applicative term rewriting systems are presented. The system presented here can be seen as a variant of those systems; the main difference between th... |