17 citations found. Retrieving documents...
Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. In Eighth International Symposium on Programming Language Implementation and Logic Programming, number 1140 in Lecture Notes in Computer Science, pages 182-197, Aachen, Germany, September 1996.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Normalization and Partial Evaluation - Dybjer, Filinski (2002)   (6 citations)  (Correct)

.... inspiration for solving this exercise can be found in Danvy s lecture notes on type directed partial evaluation [Dan98] in Grobauer and Yang s treatment of the second Futamura projection [GY01] and in Danvy and Vestergaard s take on semantics based compiling by type directed partial evaluation [DV96] 6 Summary and conclusions We have shown two di erent versions of NBE in Sections 2 and 3, and in Sections 4 and 5 we showed how to generalize the idea of NBE to TDPE. Some of the key properties of NBE which we have exploited for TDPE are: Normal forms are characterized in terms of ....

Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. In Eighth International Symposium on Programming Language Implementation and Logic Programming, number 1140 in Lecture Notes in Computer Science, pages 182-197, Aachen, Germany, September 1996.


A Semantic Account of Type-Directed Partial Evaluation - Filinski (1999)   (16 citations)  (Correct)

....That is, if we explicitly parameterize such a specification by the signature of runtime operations (including conditionals, fixed points, etc. we can instantiate this signature with either the runtime realization, yielding an interpreter, or with the residualizing signature, yielding a compiler [8, 11]. Amusingly, the specializer does not even need the actual text of the specification, only its representation as an already compiled module. 4 Showing Correctness In this section, we sketch a correctness proof for the TDPE algorithm, i.e. that it computes static normal forms when they exist. For ....

Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. In Eighth International Symposium on Programming Language Implementation and Logic Programming, number 1140 in Lecture Notes in Computer Science, pages 182--197, Aachen, Germany, September 1996.


Dynamically Adaptable Software with Metacomputations in a.. - Harrison, Sheard (2001)   (1 citation)  (Correct)

....[1, 15] haveonekey virtue: they can produce very high quality target code through sophisticated program analysis techniques and aggressive code optimization. But their complicated structure makes them infamously dicult to prove correct. In contrast, semantics based approaches to compilation [4, 7, 12, 28] are more amenable to formal proofs of correctness, but they fall short by comparison in the area of code optimization. The compiler writer appears to be in a dilemma, having to choose between performance (traditional compilers) and formal correctness (semantics directed approaches) One purpose ....

....The key di erences are that wegive executable de nitions for the abstract machine operations as monadic functions in MetaML, and we rely on MetaML s staging annotations to produce inspectable code. Our approach is similar to the waythattype directed partial evaluation was used in previous work [4,8,7,6]. The operations of the targeted abstract machine are shown in the third part of Figure 1. The MetaML de nitions of these operations and of the monad # are given in Appendix B. The instruction ##### ## pushes # onto the runtime stackand ### pops the runtime stack. The arithmetic instruction, ....

O. Danvy and R. Vestergaard. Semantics-based compiling: A case study in typedirected partial evaluation. ####### ##### ## ######## #######, 1140:182-209, 1996.


Metacomputation-based Compiler Architecture - Harrison, Kamin (2000)   (2 citations)  (Correct)

....resulting speci cations have all of the traditional advantages of monadic speci cations (reusability, extensibility, and modularity) While our binding time analysis is not automatic as in [19, 15] we consider a far wider range of programming language features than they do. Danvy and Vestergaard [5] show how to produce code that looks like machine language, by expressing the source language semantics in terms of machine language like combinators (e.g. popblock , push ) When the interpreter is closed over these combinators, partial evaluation of this closed term with respect to a ....

....cations for both of the smaller languages, EqBlock and EqCF , apply for the larger Static and Dynam monads, and so we have the compiler for the combined language is speci ed by EqBlock UEqCF . Code is generated via type directed partial evaluation[4] using the method of Danvy and Vestergaard[5]. Figure 11 contains the compiler for the while language, and an example program and its pretty printed compiled version. All that was necessary was to combine the compiler building blocks developed in this section combined as discussed in Section 6. 7 Correctness In this section, we outline an ....

O. Danvy and R. Vestergaard, \Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation," Eighth International Symposium on Programming Language Implementation and Logic Programming, 1996, pages 182-497.


Deriving Compilers from Monadic Semantics - Harrison, Kamin (1997)   (Correct)

....by introducing intermediate data structures into an interpreter and then partially evaluating. Their interpreter had no monadic structure. Also, their derivations were non automatic as the introduction and exploitation of intermediate data structure was quite subtle. Danvy and Vestergaard [5] show how to produce code that looks like machine language, by expressing the source language semantics in terms of machine language like combinators (e.g. update , popblock , push ) When the interpreter is closed over these combinators, partial evaluation of this closed term with respect ....

....alse j not b j bor b 0 Figure 5: Abstract syntax of the control flow language by lambda abstracting over them in the interpreter, and then specialize a Scheme version of the compilation semantics with respect to a source expression. This code generation technique is due to Danvy and Vestergaard [5]; we use Danvys type directed partial evaluator [4] to accomplish it. An example is presented in Figure 4. The code produced takes the form of a number of stores and reads from storage (it is underlined in the figure) For the sake of readability, we present a pretty printed version of this ....

[Article contains additional citation context not shown here]

O. Danvy and R. Vestergaard. Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation Eighth International Symposium on ProgrammingLanguage Implementation and Logic Programming, 1996, pages 182-197.


Deriving Compilers from Monadic Semantics - Harrison (1997)   (Correct)

....by introducing intermediate data structures into an interpreter and then partially evaluating. Their interpreter had no monadic structure. Also, their derivations were non automatic, as the introduction and exploitation of intermediate data structure was quite subtle. Danvy and Vestergaard [5] show how to produce code that looks like machine language, by expressing the source language semantics in terms of machine language like combinators (e.g. update , popblock , push ) When the interpreter is closed over these combinators, partial evaluation of this closed term with respect ....

....we residualize updates to store, reads from store, and negations and additions by lambda abstracting over them in the interpreter, and then specialize a Scheme version of the compilation semantics with respect to a source expression. This code generation technique is due to Danvy and Vestergaard [5]; we use Danvy s type directed partial evaluator [4] to accomplish it. An example is presented in Figure 5. The code produced takes the form of a number of stores and reads from storage (it is underlined in the figure) For the sake of readability, we present a pretty printed version of this ....

[Article contains additional citation context not shown here]

O. Danvy and R. Vestergaard. Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation. Eighth International Symposium on Programming Language Implementation and Logic Programming, 1996, pages 182-197.


Compilation as Partial Evaluation of Functor Category Semantics - Harrison, Kamin (1997)   (2 citations)  (Correct)

....handling temporary storage in the compilation of expressions. We improve upon Reynolds [12] by introducing jumps and labels in the compilation of conditional statements, thereby eliminating tree structured machine code and code duplication. Our experiment was inspired by Danvy and Vestergaard [3], and we improve upon their result in that our interpreter is a high level denotational definition for the language. Keywords: Compilers, Partial Evaluation, Semantics Based Compilation, Programming Language Semantics. 1 Introduction This paper addresses the following question: To what extent ....

....it should be possible to read off the machine language, in executable form, directly from the partially evaluated program. We take our cue from two recent papers, one on partial evaluation and one on compilation: In Semantics Based Compilation: A Case Study in Type Directed Partial Evaluation [3], Danvy and Vestergaard show how to produce code that looks like machine language, by expressing the standard semantics in terms of machine language like combinators (e.g. update , popblock , push ) When the interpreter is closed over these combinators, partial evaluation of this closed ....

[Article contains additional citation context not shown here]

O. Danvy and R. Vestergaard. Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation Eighth International Symposium on ProgrammingLanguage Implementation and Logic Programming, 1996, pages 182-197.


Compilation as Metacomputation: Binding Time Separation in.. - Harrison, Kamin (1998)   (2 citations)  (Correct)

....specifications have all of the traditional advantages of monadic specifications (reusability, extensibility, and modularity) While our binding time analysis is not automatic as in [19, 15] we consider a far wider range of programming language features than they do. Danvy and Vestergaard [5] show how to produce code that looks like machine language, by expressing the source language semantics in terms of machine language like combinators (e.g. popblock , push ) When the interpreter is closed over these combinators, partial evaluation of this closed term with respect to a ....

O. Danvy and R. Vestergaard, "Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation," Eighth International Symposium on Programming Language Implementation and Logic Programming, 1996, pages 182-497.


From Proof Normalization to Compiler Generation and.. - Vestergaard (1997)   (5 citations)  (Correct)

....evaluation. 5.4 A block structured procedural language with subtyping The following programming language is deliberately reminiscent of Reynolds s idealized Algol [63] although it uses call by value. We briefly present it here. A full description is available in a companion technical report [24]. 5.4.1 Abstract Syntax The language is imperative: its basic syntactic units are commands. It is block structured: any command can have local declarations. It is procedural: commands can be abstracted and parameterized. It is higher order: procedures can be passed as arguments (though not ....

Olivier Danvy and Ren'e Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation (extended version). Technical report BRICS-RS-96-13, Computer Science Department, Aarhus University, Aarhus, Denmark, May 1996.


A Semantic Account of Type-Directed Partial Evaluation - Filinski (1999)   (16 citations)  (Correct)

....That is, if we explicitly parameterize such a speci cation by the signature of runtime operations (including conditionals, xed points, etc. we can instantiate this signature with either the runtime realization, yielding an interpreter, or with the residualizing signature, yielding a compiler [8, 11]. Amusingly, the specializer does not even need the actual text of the speci cation, only its representation as an already compiled module. 4 Showing Correctness In this section, we sketch a correctness proof for the TDPE algorithm, i.e. that it computes static normal forms when they exist. For ....

Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. In Eighth International Symposium on Programming Language Implementation and Logic Programming, number 1140 in Lecture Notes in Computer Science, pages 182-197, Aachen, Germany, September 1996.


Two for the Price of One: Composing Partial Evaluation and.. - Sperber, Thiemann (1997)   (10 citations)  (Correct)

....Compilation with ANF [20] captures the essence of continuation based compilation [2,31,34,57] We build upon that work to construct the simple ANF compiler. Using ANF (or monadic normal form) for compilation is also put forward by Hatcliff and Danvy [25] and by Sabry and Wadler [52] Danvy s work [11,12,14] uses type directed partial evaluation for semantics directed compilation. His system wraps let expressions around code that denotes computations in order to avoid code duplication. As a result, he also obtains programs in ANF. The type directed partial evaluator is also a suitable candidate for ....

Olivier Danvy and Ren'e Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. Technical Report RS-96-13, Basic Research in Computer Science, May 1996.


Modular Compilers Based on Monad Transformers - Harrison, Kamin (1998)   (16 citations)  (Correct)

....given for the original monad. It has been shown [6, 12] that modular interpreters may be constructed by applying the monad transformers associated with each feature in the language. Here, we extend that approach to compilers. To obtain compilers by partial evaluation of semantic definitions[5, 8, 10], we must introduce data structures for pass separation [9] This work demonstrates that, by exploiting the monadic structure of our language semantics, pass separation can be done in a modular way. Thus, language features can be combined easily, while retaining the ability to produce compiled ....

....translates a term into a monadic intermediate code. Our work differs from theirs in that our target language is more realistic (it includes jumps, labels, etc. we compile considerably more language features, and modularity and extensibility are key features of our approach. Danvy and Vestergaard [5] show how to produce code that looks like machine language, by expressing the source language semantics in terms of machine language like combinators (e.g. popblock , push ) When the interpreter is closed over these combinators, partial evaluation of this closed term with respect to a ....

[Article contains additional citation context not shown here]

O. Danvy and R. Vestergaard, "Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation," Eighth International Symposium on Programming Language Implementation and Logic Programming, 1996, pages 182-497.


On Type-Directed Partial Evaluation - Taha (1997)   (Correct)

.... that make it attractive for formal investigation: First, it is concise; it is defined in about six lines [Dan96b] Second, it is easy to implement; the definition can be coded directly in a functional language like Scheme, yielding a demonstrably efficient and effective partial evaluator [DV96, Ves97]. In this note, we present a taste of TDPE, review the theoretical foundations and developments relating to TDPE, and highlight some major open research questions. Type Directed Partial Evaluation: We begin with an example of using TDPE in an interactive loop based on a compiler, similar to that ....

....[CD97] is the use of an interpretation function that computes both the value and its representation in long normal form simultaneously. Applying TDPE: TDPE has been used to partially evaluate an interpreter for a Pascal like language, deriving an efficient automatically generated compiler [DV96]. It has also been applied to Paulson s Tiny interpreter written in both direct and CPS style. The code generated by starting with both styles is strikingly similar [Dan96a] These two examples suggest that TDPE may alleviate the need for writing interpreters in CPS style in order to attain good ....

O. Danvy and R. Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. LNCS, 1140, 1996.


Two Flavors of Offline Partial Evaluation - Helsen, Thiemann (1998)   (2 citations)  (Correct)

....of several subsequent measurements, indicate that the extra lambda construction has no serious impact on compile times. Indeed, after removal of type interpretation, compilation with TDPE is about identical to compilation with PGG. 6 Related work and conclusion Apart from Danvy s articles [14 16,21] there are few investigations on the pragmatics of TDPE. In his M.Sc. thesis [41] Rhiger performs experiments with action semantics interpreters where he compares the space and time requirements in a TDPE system with those in Similix. He concludes that compilation with TDPE is considerably faster ....

Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. In Kuchen and Swierstra [33], pages 182--197.


Memoization in Type-Directed Partial Evaluation - Balat, Danvy (2002)   Self-citation (Danvy)   (Correct)

....in the normalization by evaluation community. Normalization by evaluation has been variously studied in logic, proof theory, and category theory [2, 3, 8 10, 13] and in partial evaluation [14, 16] Typedirected partial evaluation, which we present next, has been investigated both practically [5, 15, 17, 18, 29, 31, 38] and foundationally [24, 25, 47] 1.2 Type directed partial evaluation Type directed partial evaluation is a practical instance of normalization by evaluation and is used for specializing functional programs. The evaluation function it inverts is the standard evaluation of functional programs. ....

Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. In Kuchen and Swierstra [34], pages 182--197. Extended version available as the technical report BRICS-RS-96-13.


Semantics-Based Compiling: A Case Study in Type-Directed.. - Danvy, Vestergaard   (15 citations)  Self-citation (Danvy Vestergaard)   (Correct)

....evaluation. 3 A block structured procedural language with subtyping The following programming language is deliberately reminiscent of Reynolds s idealized Algol [33] although it uses call by value. We briefly present it here. A full description is available in a companion technical report [10] and in the second author s MS thesis (forthcoming) 3.1 Abstract Syntax The language is imperative: its basic syntactic units are commands. It is blockstructured: any command can have local declarations. It is procedural: commands can be abstracted and parameterized. It is higher order: ....

Olivier Danvy and Rene Vestergaard. Semantics-based compiling: A case study in type-directed partial evaluation. Technical report BRICS-RS-96-13, Computer Science Department, Aarhus University, Aarhus, Denmark, May 1996.


Metacomputation-based Compiler Architecture - Harrison, Kamin (2000)   (2 citations)  (Correct)

No context found.

O. Danvy and R. Vestergaard, #Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation," Eighth International Symposium on Programming Language Implementation and Logic Programming, 1996, pages 182-197.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC