Results 11 - 20
of
23
Similix 5.0 Manual
- Computer Science Department, University of Copenhagen
, 1993
"... Similix is an autoprojector (self-applicable partial evaluator) for a large higher-order subset of the strict functional language Scheme. Similix treats source programs that use a limited class of side-eects, for instance input/output operations. Similix handles partially static data structures. ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Similix is an autoprojector (self-applicable partial evaluator) for a large higher-order subset of the strict functional language Scheme. Similix treats source programs that use a limited class of side-eects, for instance input/output operations. Similix handles partially static data structures.
Polyvariant Expansion and Compiler Generators
- In PSI-96: Andrei Ershov Second International Memorial Conference, Perspectives of System Informatics, number 1181 in Lecture Notes in Computer Science
, 1996
"... Polyvariant expansion is a binding-time-improving transformation for offline partial evaluation. We show how to achieve it automatically for a higher-order functional language using the interpretive approach. We have designed and implemented an interpreter that statically propagates binding times. W ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Polyvariant expansion is a binding-time-improving transformation for offline partial evaluation. We show how to achieve it automatically for a higher-order functional language using the interpretive approach. We have designed and implemented an interpreter that statically propagates binding times. When specialized with respect to a source program, it performs polyvariant expansion. Extending the interpreter to an online specializer allows us to generate a binding-time-polyvariant compiler generator. Maintaining the binding times affords an abstract interpretation equivalent to a constraint-based binding-time analysis.
A Transformation System Combining Partial Evaluation with Term Rewriting
- In Higher Order Algebra, Logic and Term Rewriting (HOA '93), volume 816 of LNCS
, 1993
"... . This paper presents a new approach to optimizing functional programs based on combining partial evaluation and rewriting. Programs are composed of higher-order primitives. Partial evaluation is used to eliminate higher-order functions. First-order rewriting is used to process the transformation. L ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
. This paper presents a new approach to optimizing functional programs based on combining partial evaluation and rewriting. Programs are composed of higher-order primitives. Partial evaluation is used to eliminate higher-order functions. First-order rewriting is used to process the transformation. Laws about the higher-order primitives that are relevant for the optimizations are automatically extracted from a library and transformed into first-order terms using partial evaluation. Such a combination of a partial evaluation system and an intrinsically first-order rewriting tool allows a form of higher-order rewriting at a first-order level. This way, it is possible to automate deforestation of higher-order programs. Introduction The so-called Squiggol [10] style for program construction is a high-level programming technique that consists of building a program by composing primitives or other functions while taking into account well-known laws on the primitives. Functions are usually de...
Program Specialization via Algorithmic Unfold/Fold Transformations
- ACM Computing Surveys: Special Issue on Partial Evaluation
, 1998
"... this paper we will essentially refer to these techniques as they have been developed in the fields of functional and logic programming. ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
this paper we will essentially refer to these techniques as they have been developed in the fields of functional and logic programming.
Automatic Derivation of Logic Programs by Transformation
- Course notes for ESSLLI
, 2000
"... We present the program transformation methodology for the automatic development of logic programs based on the rules + strategies approach. We consider both definite programs and normal programs and we present the basic transformation rules and strategies which are described in the literature. To il ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present the program transformation methodology for the automatic development of logic programs based on the rules + strategies approach. We consider both definite programs and normal programs and we present the basic transformation rules and strategies which are described in the literature. To illustrate the power of the program transformation approach we also give some examples of program development. Finally, we show how to use program transformations for proving properties of predicates and synthesizing programs from logical specifications.
Partial Evaluation and the Generation of Program Generators
- Communications of The ACM
, 1993
"... this article: ..."
Continuous Compilation For Software Development And Mobile Computing
, 1996
"... CONTINUOUS COMPILATION FOR SOFTWARE DEVELOPMENT AND MOBILE COMPUTING by Michael P. Plezbert ADVISOR: Dr. Ron K. Cytron May, 1996 Saint Louis, Missouri Software developers typically must choose between interpreted and compiled environments for their programming activities. However, the current trends ..."
Abstract
- Add to MetaCart
CONTINUOUS COMPILATION FOR SOFTWARE DEVELOPMENT AND MOBILE COMPUTING by Michael P. Plezbert ADVISOR: Dr. Ron K. Cytron May, 1996 Saint Louis, Missouri Software developers typically must choose between interpreted and compiled environments for their programming activities. However, the current trends toward mobile computing and platform independence suggest moving to a new continuous compilation paradigm that integrates the advantages of each environment. Movement in this direction can already be seen in the development of Sun Microsystems' Java environment. The resulting continuous compiler operates not as a prelude to, but rather in tandem with, program execution. In this thesis we present the results of experiments that compare the performance of the continuous compilation model with a more traditional model and show that a performance increase can be obtained by moving to continuous compilation. In addition, we examine the effects of various compilation strategies on the performance...
Short Title: Continuous Compilation Plezbert, M.Sc. 1996
"... CONTINUOUS COMPILATION FOR SOFTWARE DEVELOPMENT AND MOBILE COMPUTING by Michael P. Plezbert ADVISOR: Dr. Ron K. Cytron May, 1996 Saint Louis, Missouri Software developers typically must choose between interpreted and compiled environments for their programming activities. However, the current ..."
Abstract
- Add to MetaCart
CONTINUOUS COMPILATION FOR SOFTWARE DEVELOPMENT AND MOBILE COMPUTING by Michael P. Plezbert ADVISOR: Dr. Ron K. Cytron May, 1996 Saint Louis, Missouri Software developers typically must choose between interpreted and compiled environments for their programming activities. However, the current trends toward mobile computing and platform independence suggest moving to a new continuous compilation paradigm that integrates the advantages of each environment. Movement in this direction can already be seen in the development of Sun Microsystems' Java environment. The resulting continuous compiler operates not as a prelude to, but rather in tandem with, program execution. In this thesis we present the results of experiments that compare the performance of the continuous compilation model with a more traditional model and show that a performance increase can be obtained by moving to continuous compilation. In addition, we examine the effects of various compilation strategies on the perf...
J. Heering
- ACM Transactions on Programming Languages and Systems
, 1996
"... In an earlier paper, one of the present authors presented a preliminary account of an equational logic called PIM. PIM is intended to function as a "transformational toolkit" to be used by compilers and analysis tools for imperative languages, and has been applied to such problems as program slic ..."
Abstract
- Add to MetaCart
In an earlier paper, one of the present authors presented a preliminary account of an equational logic called PIM. PIM is intended to function as a "transformational toolkit" to be used by compilers and analysis tools for imperative languages, and has been applied to such problems as program slicing, symbolic evaluation, conditional constant propagation, and dependence analysis. PIM consists of the untyped lambda calculus extended with an algebraic rewriting system that characterizes the behavior of lazy stores and generalized conditionals. A major question left open in the earlier paper was whether there existed a complete equational axiomatization of PIM's semantics. In this paper, we answer this question in the affirmative for PIM's core algebraic component, PIM t , under the assumption of certain reasonable restrictions on term formation. We systematically derive the complete PIM logic as the culmination of a sequence of increasingly powerful equational systems starting f...

