16 citations found. Retrieving documents...
Eugene E. Kohlbecker, Jr. Syntactic Extensions in the Programming Language Lisp. Technical Report 199, Indiana University Computer Science Department, August 1986.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
XML in LAML - Web Programming in Scheme - Nørmark   (Correct)

....syntax) can be intermixed in arbitrary ways. This is probably the main asset of LAML compared with similar Scheme based frameworks. In a more recent development, the PLT group has described a transformation by example approach [10] which relies on the experiences with high level macros Scheme [9]. The transformation by example work is based on an XML pattern matching language, along the lines of XSLT. In addition, the paper outlines some ideas about the representation and processing of XML data in Scheme. Besides the PLT work, Scheme has been used for web programming purposes in ....

Eugene E. Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986. Tecnical Report no. 199.


Online Type-Directed Partial Evaluation - Danvy (1997)   (11 citations)  (Correct)

....For over ten years now, the programming language Scheme has been the theater of an intensive exploration of macros, viewed not as an inherently risky business, but as a reasonable way to extend the syntax of one s programming language. The line of research initiated in Kohlbecker s PhD thesis [29] and continued in Chez Scheme [24] is of particular interest to us. Syntactic extensions, as they are called, are hygienic macros where abstract syntax is accessed by pattern matching. In this section, we briefly present a domain specific language over residual terms, designed jointly with ....

Eugene E. Kohlbecker. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, Bloomington, Indiana, 1986.


Writing Macros in Continuation-Passing Style - Hilsdale, Friedman (2000)   (2 citations)  (Correct)

....expressiveness of special forms. These typically have approached the problem through removal of unnecessary features rather than redesign. Kent Pitman [7] recognized that macros obviated the need for FEXPRs and NLAMBDAs. As a result, macros emerged as a central focus of research. Eugene Kohlbecker [5, 6] recognized that quasiquotation, with its ties to the run time system, was unnecessary to express most macros. In addition, his pioneering work on hygiene freed macro writers from thinking about inadvertent variable capture. The Revised 5 Report on the Algorithmic Language Scheme [4] extended ....

Eugene E. Kohlbecker. Syntactic Extensions in the Programming Language Lisp. Indiana University, 1986.


Revised^5 Report on the Algorithmic Language Scheme - Kelsey, (ed.), Clinger.. (1998)   (Correct)

....for specifying macro transformers. The syntactic keyword of a macro may shadow variable bindings, and local variable bindings may shadow keyword bindings. All macros defined using the pattern language are hygienic and referentially transparent and thus preserve Scheme s lexical scoping [14, 15, 2, 7, 9]: # If a macro transformer inserts a binding for an identifier (variable or keyword) the identifier will in effect be renamed throughout its scope to avoid conflicts with other identifiers. Note that a define at top level may or may not introduce a binding; see section 5.2. # If a macro ....

Eugene E. Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


Revised^5 Report on the Algorithmic Language Scheme - Kelsey, (ed.), Clinger.. (1998)   (112 citations)  (Correct)

....for specifying macro transformers. The syntactic keyword of a macro may shadow variable bindings, and local variable bindings may shadow keyword bindings. All macros defined using the pattern language are hygienic and referentially transparent and thus preserve Scheme s lexical scoping [14, 15, 2, 7, 9]: Revised 5 Scheme . If a macro transformer inserts a binding for an identifier (variable or keyword) the identifier will in e#ect be renamed throughout its scope to avoid conflicts with other identifiers. Note that a define at top level may or may not introduce a binding; see section ....

Eugene E. Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


Lecture Notes on the Principles of Programming Languages - Krishnamurthi, Felleisen (1997)   (Correct)

....(and their corresponding bound instances) before we perform the substitution. The new name chosen should be one that cannot yield such inadvertent capture (such as, say, a name not found anywhere else in the program) This technique is called clean substitution or hygienic substitution [7, 8]. If we wanted our language LC to resemble Scheme, we would have to use the second alternative above. At this point we deviate from Scheme and assume that a program does not contain any free variables. 4.2 An Evaluator Now we can translate our rules into a program. Here is a sketch of the ....

Eugene E. Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


Revised^5 Report on the Algorithmic Language Scheme - Kelsey, (ed), Clinger.. (1998)   (Correct)

....for specifying macro transformers. The syntactic keyword of a macro may shadow variable bindings, and local variable bindings may shadow keyword bindings. All macros defined using the pattern language are hygienic and referentially transparent and thus preserve Scheme s lexical scoping [14, 15, 2, 7, 9]: 14 Revised 5 Scheme ffl If a macro transformer inserts a binding for an identifier (variable or keyword) the identifier will in effect be renamed throughout its scope to avoid conflicts with other identifiers. Note that a define at top level may or may not introduce a binding; see section ....

Eugene E. Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


Hierarchical Modularity And Intermodule Optimization - Blume (1997)   (2 citations)  (Correct)

....it represents an alternative approach to optimization. But macros can also be used as a meta programming tool. The application of macros in meta programming has been most popular in languages of the Lisp family and renewed its appeal when Scheme s hygienic macro systems were developed [Ce91, Koh86, BR88, Han91, CR91, Dyb92] Traditional macros create problems by violating the rules of the language they are extending. This can happen at many different levels, ranging from failure to respect the integrity of tokens or expressions up to name clashes due to inadvertent name captures. Hygienic ....

....and linking. Finally, I come back to the problem of compilation management and automatic dependency analysis. 6.1 A review of hygienic macro expansion Over the last few years some of the technical problems with macro systems have been solved. Kohlbecker s solution for hygienic macro expansion [Koh86] which has been improved several times [BR88, Han91, CR91] provides the mechanism for implementing referentially transparent syntactic extensions in block structured languages. Today most implementations of Scheme [IEE90] support hygienic macros in one or the other form [Ce91, Dyb92] The ....

Eugene Kohlbecker. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, Bloomington, August 1986.


DDD: A System for Mechanized Digital Design Derivation - Johnson, Bose (1997)   (11 citations)  (Correct)

....seen in DDD. There is, however, one significant extension to legal Scheme syntax: nested formal parameters are allowed. We permit them because hardware description often involves multiple valued functions. This extension is readily dealt with in an expansion package, such as Kohlbecker s [20]. Scheme is a statically scoped, applicative order dialect of Lisp, whose functional sublanguage is an implementation of a typed lambda calculus (i.e. a lambda calculus extended by primitive symbolic operations) A complete language definition can be found in [27] It s equally important symbolic ....

Eugene Kohlbecker. Syntactic Extension in the Programming Language Lisp. PhD thesis, Indiana University, Bloomington, Indiana, 1986.


Extending the Scope of Syntactic Abstraction - Waddell, Dybvig (1999)   (10 citations)  (Correct)

....supports separate compilation. We show that more dynamic module facilities are easily implemented at the source level in the extended language supported by the system. 1 Introduction The benefits of module systems and lexically scoped syntactic abstraction (macro) facilities are well established [1, 2, 3, 6, 7, 8, 12, 10, 11, 15, 16, 18]. Over the past several years there has been increasing interest in combining lexically scoped macros and modules [2, 16, 17] Building on this work we present here the first fully implemented system that allows arbitrary composition of module and macro facilities, supports separate compilation, ....

Eugene E. Kohlbecker. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, Bloomington, Indiana, 1986.


Syntactic Abstraction in Scheme - Hieb, Dybvig, Bruggeman (1992)   (8 citations)  (Correct)

....This algorithm is extended to support pattern variables, controlled variable capture, and source object correlation. Our system is applicable to macros written in a general purpose programming language (Scheme) and it extends to macros written in high level pattern languages such as extend syntax [14, 7]. Other systems have been proposed to solve some of these problems; many of these are described in the following section. However, ours is the only system proposed to date that: ffl enforces hygiene for macros written in a general purpose language with constant overhead, ffl solves the ....

....only structured expressions; in particular, it does not handle variable references. The Revised 4 Report on Scheme [5] includes an appendix that contains a proposed macro system for Scheme. The high level (syntax rules) system described therein is a version of Kohlbecker s extend syntax [14] with the same restrictions imposed by Clinger and Rees [4] The revised report appendix also describes a low level system that, although it automatically preserves hygiene and referential transparency, requires manual destructuring of the input and restructuring of the output. The low level ....

Eugene Kohlbecker. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, Bloomington, August 1986.


Macros in Scheme - Clinger (1991)   (3 citations)  (Correct)

....(cons (car (cons.1 jimmy) scams) set scams (cons (cadr (cons.1 ron) scams) scams) A macro system that avoids inadvertent captures through systematic renaming is said to be hygienic. Eugene Kohlbecker developed and implemented the first hygienic macro system for his 1986 PhD dissertation [4]. In 1988 the Scheme community asked a four person committee to design a hygienic macro system for inclusion in the Revised 4 Report. In 1990 Jonathan Rees and I developed a more general and efficient form of Kohlbecker s algorithm, which Jonathan used to implement a prototype of the Scheme ....

Eugene Edmund Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


Revised^4 Report on the Algorithmic Language Scheme - Clinger, (ed.), Rees.. (1991)   (242 citations)  Self-citation (Kohlbecker)   (Correct)

....3) set y ( y 1) exit x) 3000 Acknowledgements The extension described in this appendix is the most sophisticated macro facility that has ever been proposed for a block structured programming language. The main ideas come from Eugene Kohlbecker s PhD thesis on hygienic macro expansion [51], written under the direction of Dan Friedman [52] and from the work by Alan Bawden and Jonathan Rees on syntactic closures [6] Pattern directed macro facilities were popularized by Kent Dybvig s nonhygienic implementation of extend syntax [15] At the 1988 meeting of this report s authors at ....

Eugene Edmund Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


A Module System for Scheme - Pavel Curtis Xerox   (Correct)

No context found.

Eugene E. Kohlbecker, Jr. Syntactic Extensions in the Programming Language Lisp. Technical Report 199, Indiana University Computer Science Department, August 1986.


Pointcuts and Advice in Higher-Order Languages - Tucker, Krishnamurthi (2003)   (29 citations)  (Correct)

No context found.

Eugene E. Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.


Revised^3 Report on the Algorithmic Language Scheme - Rees, (ed.), Clinger.. (1991)   (190 citations)  (Correct)

No context found.

Eugene Edmund Kohlbecker Jr. Syntactic Extensions in the Programming Language Lisp. PhD thesis, Indiana University, August 1986.

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