Filters








150 Hits in 2.0 sec

On Perfect Supercompilation [chapter]

Jens Peter Secher, Morten Heine Sørensen
2000 Lecture Notes in Computer Science  
We extend positive supercompilation to handle negative as well as positive information. This is done by instrumenting the underlying unfold rules with a small rewrite system that handles constraints on terms, thereby ensuring perfect information propagation. We illustrate this by transforming a na vely specialised string matcher into an optimal one. The presented algorithm is guaranteed to terminate by means of generalisation steps.
doi:10.1007/3-540-46562-6_10 fatcat:wndfa7m3wnhpdgmz6cv6dpja64

Introduction to Supercompilation [chapter]

Morten Heine B. Sørensen, Robert Glück
1999 Lecture Notes in Computer Science  
We extend positive supercompilation to handle negative as well as positive information. This is done by instrumenting the underlying unfold rules with a small rewrite system that handles constraints on terms, thereby ensuring perfect information propagation. We illustrate this by transforming a naïvely specialised string matcher into an optimal one. The presented algorithm is guaranteed to terminate by means of generalisation steps.
doi:10.1007/3-540-47018-2_10 fatcat:oxbth2ashjgtnlxlvgpamzqnom

Domain-free pure type systems [chapter]

Gilles Barthe, Morten Heine SØrensen
1997 Lecture Notes in Computer Science  
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
more » ... type systems, establish their formal relationship with pure type systems and type assignment systems, and give a number of applications of these correspondences.
doi:10.1007/3-540-63045-7_2 fatcat:t6z2s6tnnfcq5m4v5ttcnsfvxa

From Type Inference to Configuration [chapter]

Morten Heine Sørensen, Jens Peter Secher
2002 Lecture Notes in Computer Science  
A product line is a set of products and features with constraints on which subsets are available. Numerous configurators have been made available by product line vendors on the internet, in which procurers can experiment with the different options, e.g. how the selection of one product or feature entails or precludes the selection of another product or feature. We explore an approach to configuration inspired by type inference technology. The main contributions of the paper are a formalization
more » ... f the configuration problem that includes aspects related to the interactive dialogue between the user and the system, a result stating that the configuration problem thus formalized has at least exponential complexity, and some techniques for computing approximate solutions more efficiently. While a substantial number of papers precede the present one in formalizing configuration as a constraint satisfaction problem, few address the aspects concerning interactivity between the user and the system. 1 We do not mean to suggest that any of the mentioned home pages or tools use the techniques described in the present paper. 2 PROMIS is short for PRocurement Officer Reference Model Information System. 3 C 3 I is short for Command, Control, Communication, and Intelligence.
doi:10.1007/3-540-36377-7_20 fatcat:rzpm7bxjzjhjfe7rijkojoz3oe

A roadmap to metacomputation by supercompilation [chapter]

Robert Glück, Morten Heine Sørensen
1996 Lecture Notes in Computer Science  
This paper gives a gentle introduction to Turchin's supercompilation and its applications in metacomputation with an emphasis on recent d e v elopments. First, a complete supercompiler, including positive driving and generalization, is de ned for a functional language and illustrated with examples. Then a taxonomy of related transformers is given and compared to the supercompiler. Finally, w e put supercompilation into the larger perspective of metacomputation and consider three metacomputation tasks: specialization, composition, and inversion.
doi:10.1007/3-540-61580-6_8 fatcat:wypp3zx6kvfhtforptk4lhgude

Controlling conjunctive partial deduction [chapter]

Robert Glück, Jesper Jørgensen, Bern Martens, Morten Heine Sørensen
1996 Lecture Notes in Computer Science  
Partial deduction within Lloyd and Shepherdson's framework transforms di erent atoms of a goal independently and therefore fails to achieve a number of unfold/fold transformations. A recent framework for conjunctive partial deduction allows unfold/fold transformations by specialisation of entire conjunctions, but does not give an actual algorithm for conjunctive partial deduction, and in particular does not address control issues (e.g. how to select atoms for unfolding). Focusing on novel
more » ... nges speci c to local and global control, we describe a generic algorithm for conjunctive partial deduction, re ne it into a fully automatic concrete algorithm, and prove termination and correctness.
doi:10.1007/3-540-61756-6_83 fatcat:7yeqwowngzfsxdcaxbjk3dcfiq

Partial deduction and driving are equivalent [chapter]

Robert Glück, Morten Heine Sørensen
1994 Lecture Notes in Computer Science  
Partial deduction and driving are two methods used for program specialization in logic and functional languages, respectively. We argue that both techniques achieve essentially the same transformational e ect by uni cation-based information propagation. We show their equivalence by analyzing the de nition and construction principles underlying partial deduction and driving, and by giving a translation from a functional language to a de nite logic language preserving certain properties. We
more » ... s residual program generation, termination issues, and related other techniques developed for program specialization in logic and functional languages.
doi:10.1007/3-540-58402-1_13 fatcat:no3afolohnb5nildxinz2b4osu

Redundant argument filtering of logic programs [chapter]

Michael Leuschel, Morten Heine Sørensen
1997 Lecture Notes in Computer Science  
This paper is concerned with the problem of removing redundant arguments from logic programs. Such arguments can be removed without affecting correctness, in a certain sense. Most program specialisation techniques, even though they filter arguments and remove clauses, fail to remove a substantial number of redundant arguments, yielding in some cases rather inefficient residual programs. We formalise the notion of a redundant argument and show that one cannot effectively remove all redundant
more » ... ments. We then give a safe, effective approximation of the notion of a redundant argument and describe several simple and efficient algorithms based on the approximative notion. We conduct extensive experiments with our algorithms on mechanically generated programs illustrating the practical benefits of our approach. goal doubleapp(Xs, Ys, Zs, R) is simple and elegant, it is rather inefficient since construction and traversal of such intermediate data structures is expensive. Partial deduction within the framework of Lloyd and Shepherdson [20] cannot substantially improve the program since the atoms app(Xs, Ys, T), app(T, Zs, R) are transformed independently. However, as shown in [17, 11], conjunctive partial deduction of +--doubleapp(Xs, Ys, Zs, R) gives the following equivalent program: Here the concatenation of the lists Xs and Ys is still stored in T, but is not used to compute the result in R. Instead the elements encountered while traversing Xs and Ys are stored directly in R. Informally, the third argument of da is redundant. Thus, although this program represents a step in the right direction, we would rather prefer the following program: doubleapp(a'([x[xs], Y" [xlz ]) Automation of the step from da/5 to da'/4 was left open in [17, 11] (although correctness conditions were given in [17]). The step cannot be obtained by the renaming operation in [8, 2] which only improves programs where some atom in some body contains functors or multiple occurrences of the same variable. In fact, this operation has already been employed by conjunctive partial deduction to arrive at the program with da/5. The step also cannot be obtained by other transformation techniques, such as partial deduction itself, or the more specific program construction of [22] which calculates more specific versions of programs. Indeed, any method which preserves the least Herbrand model, or the computed answer semantics for all predicates, is incapable of transforming da/5 to da~/4. Redundant arguments also appear in a variety of other situations. For instance, they appear in programs generated by standard partial deduction when conservative unfolding rules are used. As another example, redundant arguments arise when one re-uses general predicates for more specific purposes. For instance, define the member~2 predicate by re-using a general delete~3 predicate: member( Here the third argument of delete is redundant but cannot be removed by any of the techniques cited above.
doi:10.1007/3-540-62718-9_6 fatcat:2iqp6f6i55d23llps23cesqeza

Perpetual Reductions inλ-Calculus

Femke van Raamsdonk, Paula Severi, Morten Heine B. Sørensen, Hongwei Xi
1999 Information and Computation  
This paper surveys a part of the theory of ;-reduction in *-calculus which might aptly be called perpetual reductions. The theory is concerned with perpetual reduction strategies, i.e., reduction strategies that compute infinite reduction paths from *-terms (when possible), and with perpetual redexes, i.e., redexes whose contraction in *-terms preserves the possibility (when present) of infinite reduction paths. The survey not only recasts classical theorems in a unified setting, but also
more » ... new results, proofs, and techniques, as well as a number of applications to problems in *-calculus and type theory. ]
doi:10.1006/inco.1998.2750 fatcat:bkd2cfqilncb7mz4dxnr5badau

An induction principle for pure type systems

Gilles Barthe, John Hatcliff, Morten Heine B. Sørensen
2001 Theoretical Computer Science  
We present an induction principle for pure type systems and use that principle to deÿne CPS translations and to solve the problem of expansion postponement for a large class of pure type systems. Our principle strengthens and generalises similar principles by Dowek et al. [12] and Barthe et al. [6], which have been respectively used to deÿne Á-long normal forms and CPS translations for the systems of Barendregt's -cube [2; 3].
doi:10.1016/s0304-3975(00)00373-x fatcat:7snb23lgb5evje3sjdmtn65qmm

Towards unifying partial evaluation, deforestation, supercompilation, and GPC [chapter]

Morten Heine Sørensen, Robert Glück, Neil D. Jones
1994 Lecture Notes in Computer Science  
We study four transformation methodologies which are automatic instances of Burstall and Darfington's fold/unfold framework: partial evaluation, deforestation, supercompilation, and generalized partial computation (GPC). One can classify these and other fold/unfold based transformers by how much information they maintain during transformation. We introduce the positive supercompiler, a version of deforestation including more information propagation, to study such a classification in detail. Via
more » ... the study of positive supercompilation we are able to show that partial evaluation and deforestation have simple information propagation, positive supercompflation has more information propagation, and supercompflation and GPC have even more information propagation. The amount of information propagation is significant: positive supercompilation, GPC, and supercompflation can specialize a general pattern matcher to a fixed pattern so as to obtain efficient output similar to that of the Knuth-Morris-Pratt algorithm. In the case of partial evaluation and deforestation, the genera] matcher must be rewritten to ~chieve this.
doi:10.1007/3-540-57880-3_32 fatcat:cy5ymxdqvbftrh4ar5fpq6cqbq

Convergence of program transformers in the metric space of trees

Morten Heine B. Sørensen
2000 Science of Computer Programming  
In recent years increasing consensus has emerged that program transformers, e.g. partial evaluation and unfold=fold transformations, should terminate; a compiler should stop even if it performs fancy optimizations! A number of techniques to ensure termination of program transformers have been invented, but their correctness proofs are sometimes long and involved. We present a framework for proving termination of program transformers, cast in the metric space of trees. We ÿrst introduce the
more » ... n of an abstract program transformer; a number of well-known program transformers can be viewed as instances of this notion. We then formalize what it means that an abstract program transformer terminates and give a general su cient condition for an abstract program transformer to terminate. We also consider some speciÿc techniques for satisfying the condition. As applications we show that termination of some well-known program transformers either follows directly from the speciÿc techniques or is easy to establish using the general condition. Our framework facilitates simple termination proofs for program transformers. Also, since our framework is independent of the language being transformed, a single correctness proof can be given in our framework for program transformers that use essentially the same technique in the context of di erent languages. Moreover, it is easy to extend termination proofs for program transformers to accommodate changes to these transformers. Finally, the framework may prove useful for designing new termination techniques for program transformers.
doi:10.1016/s0167-6423(99)00026-x fatcat:npesnkhzare2lfgn66xi4llqmi

Conservation and Uniform Normalization in Lambda Calculi with Erasing Reductions

Peter Møller Neergaard, Morten Heine Sørensen
2002 Information and Computation  
The technique is also used to prove strong normalization from weak normalization of the simply typed λ-calculus extended with pairs; this is an extension of techniques developed recently by Sørensen and  ...  , Sørensen [16] , and Xi [17] .  ...  This is an extension of the technique developed independently by Sørensen [16] and Xi [17] .  ... 
doi:10.1006/inco.2002.3153 fatcat:2uvp6fp6yrdttb3a56uohc2rzm

A Notion of Classical Pure Type System (Preliminary version)

Gilles Barthe, John Hatcliff, Morten Heine Sørensen
1997 Electronical Notes in Theoretical Computer Science  
We present a notion of classical pure type system, which extends the formalism of pure type system with a double negation operator. c 1997 Published by Elsevier Science B. V. Open access under CC BY-NC-ND license. Barthe, Hatcliff, Srensen 78, 98] and proof equivalence in logic corresponds exactly to equality b e t ween morphisms in a cartesian closed category 53,59]. 1 The Curry-Howard and Lambek-Lawvere isomorphisms have come to play an important role in the area of logic and computation.
more » ... have been generalized to systems of an increasing complexity see e.g. 6, 25, 30, 60, 67, 94] for the 74, 75, 92] for the Lambek-Lawvere isomorphism and have been used in a large number of applications. For example, the Curry-Howard isomorphism has been exploited in the use of type theory as a framework for reasoning and computation 16, 17, 56, 68] and in the design of proof-development systems 8, 19, 33, 57, 58, 73, 89 ]. Yet and quite signi cantly, both isomorphisms have until the late 1980's invariably beenstudied in relation with intuitionistic logics. 2 At that time Gri n 34] realized that Felleisen's control operator C 28,29] could be meaningfully added to the simply typed -calculus by t yping C with the double negation rule 81,87,90] hereafter we refer to Felleisen's calculus as the C-calculus and to Gri n's system as the simply typed C-calculus. Moreover, Gri n showed that the reduction rules for C were closely related to classical proof normalization as studied by Prawitz 81], Seldin 86,87], and St lmarck 90]. Gri n's discoveries were followed by a series of papers on classical logic, control operators and the Curry-Howard isomorphism, see for example 3,4,18,24,42,62 66,69 72,82]. Most of these works introduce one typed classical -calculus, i.e. a typed -calculus enriched with control operators, and study its properties with respect to e.g. normalization, con uence and categorical semantics or its applications to e.g. classical theorem proving and witness extraction. However, none of the typed classical -calculi proposed so far seems to have achieved a status of universality similar to that of the ordinary typed -calculus and the question of nding the classical typed -calculus still remains an area of active investigation. In a di erent line of work, some works considered generalizing classical -calculi to more powerful systems such as polymorphic -calculus or higherorder -calculus. Remarkably, this question has so far only been addressed in a few speci c cases, e.g. for the second-order type assignment system by P arigot 71,72], ML by Duba, Harper and MacQueen 27] and later by Harper and Lillibridge 38] and Girard's higher-order polymorphic -calculus by Harper and Lillibridge 37]. 3 Nevertheless, the central claim of this paper is that 1 There is no notion of reduction associated to a cartesian closed category. Hence the LL isomorphism only re ects the notion of proof equivalence. In order to re ect the notion of proof normalization, the notion of 2-category must be considered 85]. 2 The skepticism towards a proof or categorical semantics of classical logic may be attributed to a number of factors, two of which are mentioned below. In category theory, Joyal noticed that every bicartesian closed category in which A is isomorphic to ::A is degenerate 54]. In classical proof theory, Girard noticed that cut-elimination in classical sequent calculus was not con uent di erent strategies for reduction gives di erent proofs in normal form, i.e. proof normalization involves an element of non-determinism 32]. 3 Other calculi which have been considered in the literature include PCF 70], linear - Barthe, Hatcliff, Srensen Computational type systems allow u s to introduce in a generic way standard notions from higher-order rewrite systems and type theories. Notions related to terms and reduction We rst de ne the notion of strict subterm. De nition 2.4 The subterm relation / is de ned inductively as follows: M / M N and N / M N
doi:10.1016/s1571-0661(05)80170-7 fatcat:kugibpuzfvgcjkiasxdqeadsu4

AnnoDomini

Peter Harry Eidorff, Fritz Henglein, Christian Mossin, Henning Niss, Morten Heine Sørensen, Mads Tofte
1999 Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '99  
AnnoDomini is a source-to-source conversion tool for making COBOL programs Year 2000 compliant.
doi:10.1145/292540.292543 dblp:conf/popl/EidorffHMNST99 fatcat:dcq5ahnctrh3hkfqfyc5x37pxq
« Previous Showing results 1 — 15 out of 150 results