| Wand, M. \A Semantic Prototyping System," Proc. ACM SIGPLAN '84 Compiler Construction Conference (1984) 213-221. |
....1984, Appel 1985] achieve greater run time eciency at the expense of less pure semantic languages one for each language de nition in the former case, and a lambda calculus variant with special treatment of environments and stores in the latter. Finally Wand s methodology is very powerful [Wand 1984, Wand 1982] but it seems to require so much cleverness from the user that it is not clear how it may be automated. The main strength of our system is that is simple enough to be understood and proven correct and yet able to perform non trivial compilation and compiler generation. The main ....
M. Wand, A Semantic Prototyping System, in SIGPLAN '84 Symposion on Compiler Construction, pp. 213-221, 1984. 52
....(AST) 30 KB Table 2. Lines of program code to verify for a program checked IS front end 7 Related Work Correctness of compilers was first considered in [32] but focused on the compilation of arithmetic expressions. Thereafter most people explored the potential of denotational semantics, e.g. [13, 34, 35, 39, 40, 43, 49], or of refinement calculi, e.g. 5, 7, 9, 14, 15, 28, 33, 37] structural operational semantics, e.g. 16] and algebraic models, e.g. 44] Other approaches use abstract state machines, e.g. 6, 7, 9] Most of these projects did not compile into machine language. Instead, they designed ....
M. Wand. A semantic prototyping system. SIGPLAN Notices, 19(6):213--221, June 1984. SIGPLAN 84 Symp. On Compiler Construction.
....it checks a stronger condition because the application condition may be state dependent) 9 Related Work Correctness of compilers was first considered in [37] but focused on the compilation of arithmetic expressions. Thereafter most people explored the potential of denotational semantics, e.g. [16, 41, 42, 45, 46, 49, 57], or of refinement calculi, e.g. 6, 4, 9, 17, 18, 34, 39, 44] structural operational semantics, e.g. 19] and algebraic models, e.g. 51] Other approaches use abstract state machines, e.g. 7, 4, 9] Most of these projects did not compile into machine language. Instead, they designed ....
M. Wand. A semantic prototyping system. SIGPLAN Notices, 19(6):213--221, June 1984. SIGPLAN 84 Symp. On Compiler Construction.
....Gem Mex supports a semi visual formalism optimized 5 for the de nition of programming language semantics and tool generation. It can generate a typechecker, an interpreter, and a debugger. Table 4 is far from complete. Some other language development systems are SIS [30] PSP [32] GAG [24] SPS [41], MESS [28] Actress [11] Pregmatic [10] LDL [20] and Eli [26] Many of the tools listed in Table 3 are not generated by any current system. Ample opportunities for tool generation still exist in areas like optimization, dynamic program analysis, testing, and maintenance. 4 Toward Language ....
M. Wand. A semantic prototyping system. SIGPLAN Notices, 19(6):213-221, 1984. Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction.
....Gem Mex supports a semi visual formalism optimized for the definition of programming language semantics and tool generation. It can generate a typechecker, an interpreter, and a debugger. Table 4 is far from complete. Some other language development systems are SIS [30] PSP [32] GAG [24] SPS [41], MESS [28] Actress [11] Pregmatic [10] LDL [20] and Eli [26] Many of the tools listed in Table 3 are not generated by any current system. Ample opportunities for tool generation still exist in areas like optimization, dynamic program analysis, testing, and maintenance. 4 Toward Language ....
M. Wand. A semantic prototyping system. SIGPLAN Notices, 19(6):213-- 221, 1984. Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction.
....and (2) the # notation of denotational semantics was deemed untamable indeed writing a denotational specification can be compared to writing a program in a module less, lazy functional language without automatic type checker. As for semantics implementation systems, there have been many [1, 13, 16, 22, 25, 28, 29, 31, 34, 35, 38, 39, 40], and they were all quite complicated. Note: this list of references is by no means exhaustive. It is merely meant to be indicative. 1.2 Partial evaluation For a while, partial evaluation has held some promise for compiling and compiler generation, through the Futamura projections [17, 18] ....
Mitchell Wand. A semantic prototyping system. In Graham [14], pages 213--221.
....of semantics and in targeting model checkers rather than theorem provers. 6. 4 Semantics Directed Compiler Generators There have been a number of attempts to generate compilers from denotational semantic specifications including early work by Mosses [Mos79] and later by Paulson [Pau82] Wand [Wan84] and Lee [Lee89] One tool in current use is Actress [BMW92] a semantics directed compiler generator for Mosses action semantics [Mos92] This uses ML Lex and ML Yacc to generate a parser, so its syntactic specification is at a lower level than in CLaReT, but the big difference is that Actress ....
M. Wand. A semantic prototyping system. In Proceedings of the SIGPLAN '84 Symposium on Compiler Construction (ACM SIGPLAN Notices, 19(6)), pages 213--221, Montreal, Canada, June 1984. 21
....and (2) the notation of denotational semantics was deemed 65 untamable indeed writing a denotational specification can be compared to writing a program in a module less, lazy functional language without automatic type checker. As for semantics implementation systems, there have been many [1, 28, 41, 48, 53, 57, 58, 61, 65, 67, 71, 72, 73], and they were all quite complicated. Note: this list of references is by no means exhaustive. It is merely meant to be indicative. 5.2.2 Partial evaluation For a while, partial evaluation has held some promise for compiling and compiler generation, through the Futamura projections [42, 43] ....
Mitchell Wand. A semantic prototyping system. In Graham [31], pages 213--221.
....and (2) the notation of denotational semantics was deemed untamable indeed writing a denotational specification can be compared to writing a program in a module less, lazy functional language without automatic type checker. As for semantics implementation systems, there have been many [1, 14, 20, 26, 29, 31, 34, 35, 37, 41, 43, 46, 47, 48], and they were all quite complicated. Note: this list of references is by no means exhaustive. It is merely meant to be indicative. 1.2 Partial evaluation For a while, partial evaluation has held some promise for compiling and compiler generation, through the Futamura projections [13, 22] ....
Mitchell Wand. A semantic prototyping system. In Graham [16], pages 213--221.
....by abstract state machines (Section 2) In this paper, the mapping of composite datatypes such as records, arrays etc. is considered as a front end task. The first work on correct compilers is [17] Most of the following work on correct compilation is based on denotational semantics (e.g.[4, 18, 19, 25, 26, 30]) or on refinement calculi (e.g. 5, 6, 16, 20, 21] Other work on compiler correctness based on refinement use abstract state machine (e.g. 1 3] Most of these works do not compile high level programming languages into assembler languages. To our knowledge, only [2, 3, 20, 21] and ProCos [16] ....
M. Wand. A semantic prototyping system. SIGPLAN Notices, 19(6):213--221, June 1984. SIGPLAN 84 Symp. On Compiler Construction.
....available. Although the present work will go beyond the capabilities of monads, some of the flavor of the monadic life will be retained. Also, monadic interpreters are perhaps the first parametrized interpreters in the literature. 5.1. 8 Semantics directed compiler generation This field (see [Wan84, Lee89, Tof90, App85]) attempts to generate compilers from declarative specifications. Apparently, the results have been good, but perhaps the work has not yet found its audience. The tools are not easily usable and are not well integrated into current programming environments. The resulting compilers are not yet ....
Mitchell Wand. A semantic prototyping system. In Proceedings of the SIGPLAN 1984 Symposium on Compiler Construction, pages 213--221, June 1984.
....types, union types, mutation, and ad hoc polymorphism. 5.2 Related work In this section we attempt to place our type inference system in context with other type system for Scheme, as well as other functional languages. We will take a brief look at PLEAT [10] STYLE [1] SoftScheme [2] and SPS [11], with the emphasis in the section being on STYLE and SoftScheme. We will look at three main areas: domain of the type systems, representation of types, and complexity of code. The work of Curtis [10] provides an example of a type system for a small, functional language, PLEAT, much in the style ....
Mitchell Wand. Semantic prototyping system (SPS) reference manual, version 1.4 (Chez Scheme). In ftp://ftp.cs.indiana.edu/pub/scheme-- repository/code/lang/sps.tar.gz, Apr 1989.
....(Nutec) tional specifications, where high level and low level aspects, together with static and dynamic properties of language descriptions, are inter mixed. The situation has gradually improved through the work of several researchers, e.g. Sethi [24] Paulson [17] Raskovsky [21] Wand [28] [29], Appel [2] Jouvelot [11] until the MESS system by Peter Lee [13] demonstrated the first realistic compiler generation system accepting denotational specifications. Peter Lee used Peter Mosses action semantics [16] to separate high level and low level semantics (macro semantics and ....
Mitchell Wand. A semantic prototyping system. In Proc ACM SIGPLAN'84 Compiler Construction Conference, pages 213--222, 1984.
....languages such as Pascal where every program variable and every procedure has a unique type. That type has to be declared within the program itself, in contrast to the Hindley Calculus. The Milner Calculus encodes the polymorphism that results from the ability in languages such as ML [31,32] SPS [120], Miranda [117] to give let bound variables x a parameterized type that is automatically and implicitly instantiated at all applied occurrences of x. Note that in the rule (FIX M) the type Let A range over type environments; x over variables; e; e 0 over expressions; ff over type variables; ....
M. Wand. A semantic prototyping system. Proc. ACM SIGPLAN '84 Symp. on Compiler Construction, SIGPLAN Notices, 19(6):213--221, June 1984.
.... traditional approach to compiler generation is based on denotational semantics [53] Examples of existing compiler generators based on this idea include Mosses Semantics Implementation System (SIS) 29] Paulson s Semantics Processor (PSP) 45, 46] and Wand s Semantic Prototyping System (SPS) [62]. In SIS, the lambda expressions are executed by a direct implementation of beta reduction; in PSP and SPS they are compiled into SECD and Scheme code, respectively. There are no considerations of the possible correctness of either the implementation of beta reduction, the translations to SECD or ....
Mitchell Wand. A semantic prototyping system. In Proc. ACM SIGPLAN'84 Symposium on Compiler Construction, pages 213--221. Sigplan Notices, 1984.
....to term translators from machine readable specifications. The generated translator could then be used in conjunction with the calculus machine for a semantics based language implementation (see Figure 2) The direct approach to automated language implementation was explored by many researchers [41, 49, 56, 60, 74, 3]. Although the implementations they produced were not competitive with traditional techniques, they proved the viability of incorporating formal language definition into implementations. The insights these systems provided lead to the 6 CHAPTER 1. INTRODUCTION n Source Language Definition o # ....
....the language implementations produced code for Landin s SECD machine [33] Again, the generated compilers were not competitive with production compilers but his system proved that implementations could be generated for non trivial language definitions 2 . SPS Wand s Semantic Prototyping System [74] was notable because of its use of Scheme as a calculus engine. Language definitions were specified using Scheme code as the machine readable calculus. The generated language implementations translated source language phrases into Scheme code. Due to efficient Scheme implementations, the ....
Wand, M. "A Semantic Prototyping System," Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction (June 1984), 213--221.
....preserving with respect to the semantics. With a verified compiler generator we use the formal semantics as input programs and generate a trusted compiler in the same manner as a verified compiler produces trusted object code. 3.3. 1 Early Work Early work in semantics directed compiler generation[48, 49, 50, 51, 52, 53] concentrated on the use of denotational semantics. These systems produced compilers whose object code ran at least three orders of magnitude slower than that produced by handwritten compilers and only the system of Gomard and Jones[51] was proven correct. This system, however, produced compilers ....
Mitchell Wand. A semantic prototyping system. In Proceedings ACM SIGPLAN'84 Symposium on Compiler Construction, pages 213--221. SIGPLAN Notices, 1984.
.... traditional approach to compiler generation is based on denotational semantics [37] Examples of existing compiler generators based on this idea include Mosses Semantics Implementation System (SIS) 17] Paulson s Semantics Processor (PSP) 31, 32] and Wand s Semantic Prototyping System (SPS) [44]. Denotational semantics has achieved much popularity as a vehicle for theoretical studies, but it is also recognized to be neither flexible nor readable, see for example the discussions by Mosses [19] and Pleban and Lee [34] The target programs produced by the classical systems have been ....
Mitchell Wand. A semantic prototyping system. In Proc. ACM SIGPLAN'84 Symposium on Compiler Construction, pages 213--221. Sigplan Notices, 1984.
....a language is transformed to a C program. Lex [Les75] is a lexical generator that could be used with YACC. Several implementations of ML, the SML from New Jersey [AM89] and the CAML from INRIA, Paris [CH90, WAL 90] have parser generators in the style of YACC in their implementations. Wand [Wan84] has implemented a system for Scheme using YACC, to generate a parser that translates from abstract to concrete syntax. FPG [Udd88] is a functional parser generator. It is both written in and generates code for LML. Grune and Jacobs [GJ88] has implemented a parser generator that produces an ....
....interface with an ML version of YACC. But the concrete syntax must still be seen as a convenient form to write abstract syntax trees since all computations must be expressed in terms of the constructors and selectors of the abstract syntax. Nothing like our quotation patterns is available. Wand [Wan84] has implemented a similar system for Scheme also using YACC to generate the parser that translates from concrete to abstract syntax. A more limited way to define an object language is to use infix operators as constructors, as we can do in ML [Mil84] A type declaration for arithmetic ....
Mitchell Wand. A Semantic Prototyping System. In Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction, pages 213--221, June 1984.
....of the Asf Sdf formalism and system. In a wider perspective, Asf Sdf builds on several other tool generators based on formal language definitions. Some well known compiler generator examples (based on denotational semantics) are Mosses Semantics Implementation System (SIS) Mos79] or Wand s [Wan84] and Paulson s [Pau82] prototyping systems. More recent support systems for language descriptions are, e.g. LP87, Tof90, Ber91, BMW92, Mic93] Systems aiming at the generation of integrated environments are the earlier mentioned PSG system [BS86] and the Synthesizer Generator [RT89] as well as ....
M. Wand. A semantic prototyping system. In Proceedings of the ACM SIGPLAN Symposium on Compiler Construction, pages 213--221, 1984. Appeared as SIGPLAN Notices 19(6).
No context found.
Wand, M. \A Semantic Prototyping System," Proc. ACM SIGPLAN '84 Compiler Construction Conference (1984) 213-221.
....dynamically typed languages. In particular, it is desirable to allow strongly typed languages to have holes in the type structure, so that portions of the program that are not fully understood may be written using dynamic typing. There have been several proposals for creating such holes, such as [3, 9, 10]. Typically, one gives the result of such an untyped computation a special type, untyped. Such a value can be passed as an ordinary value, but is not manipulable except by a polymorphic procedure, such as print [10] Thatte [9] called this partial type inference. The addition of a type untyped ....
....typing. There have been several proposals for creating such holes, such as [3, 9, 10] Typically, one gives the result of such an untyped computation a special type, untyped. Such a value can be passed as an ordinary value, but is not manipulable except by a polymorphic procedure, such as print [10]. Thatte [9] called this partial type inference. The addition of a type untyped allows several different kinds of flexibility. It allows portions of a program to escape the scrutiny of the type checker [10] it allows for heterogeneous lists and persistent data [9] and it can also be used to ....
[Article contains additional citation context not shown here]
Mitchell Wand. A semantic prototyping system. In Proc. ACM SIGPLAN'84 Symposium on Compiler Construction, pages 213--221. Sigplan Notices, 1984.
No context found.
Mitchell Wand. A semantic prototyping system. In Susan L. Graham, editor, Proceedings of the 1984.
No context found.
Wand, M. "A Semantic Prototyping System". Proc. '84 Symp. on Compiler Constr., Sigplan Not. 19,6 (June 1984),213-221.
No context found.
Mitchell Wand, Semantic Prototyping System (SPS) Reference Manual, Version 1.4 (Chez Scheme), Northeastern University, 1989.
First 50 documents
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