30 research outputs found
A New Means of Ensuring Termination of Deforestation
The deforestation algorithm transforms functional programs which use intermediate data structures into semantically equivalent programs which do not use intermediate data structures. However, the deforestation algorithm is only guaranteed to terminate for treeless programs. The generalizing deforestation algorithm does the same job as the standard deforestation algorithm except that it leaves subterms which are annotated with \Psi untransformed. The problem remains to give the program safe annotations, i.e. annotations ensuring that application of the generalizing deforestation algorithm to the annotated program terminates. We develop a method of finding safe annotations automatically. Given a program, the idea is to calculate a grammar such that (at least) every term that the deforestation algorithm encounters when transforming the program is derivable from the grammar. Whenever the deforestation algorithm loops infinitely, it encounters infinitely many different terms, and whenever ..
Domain-Free Pure Type Systems
Pure type systems make use of domain-full -abstractions x : D : M . We present a variant of pure type systems, which we call domain-free pure type systems, with domain-free -abstractions x : M . Domain-free pure type systems have a number of advantages over both pure type systems and so-called type assignment systems (they also have some disadvantages) and have been used in theoretical developments as well as in implementations of proof-assistants. We study the basic properties of domain-free pure type systems, establish their formal relationship with pure type systems and type assignment systems, and give a number of applications of these correspondences. 1 Introduction Typed versions of the -calculus were introduced independently by Church (1940) and Curry (1934). More precisely, Curry (1934) introduced types into the theory of combinators, and Curry and Feys (1958) modified the system in a natural way to -calculus. In Church's system abstractions have domains, i.e. are of the form..
The lambda Delta -calculus
this paper we attempt to bring together the line of research in typed and untyped control operators conducted in Computer Science with that of classical proof normalization conducted in Logic. Specifically we describe a construction whic