Results 1  10
of
20
Definitional interpreters for higherorder programming languages
 Reprinted from the proceedings of the 25th ACM National Conference
, 1972
"... Abstract. Higherorder programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include ..."
Abstract

Cited by 299 (2 self)
 Add to MetaCart
Abstract. Higherorder programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include McCarthy’s definition of LISP, Landin’s SECD machine, the Vienna definition of PL/I, Reynolds ’ definitions of GEDANKEN, and recent unpublished work by L. Morris and C. Wadsworth. Such definitions can be classified according to whether the interpreter contains higherorder functions, and whether the order of application (i.e., call by value versus call by name) in the defined language depends upon the order of application in the defining language. As an example, we consider the definition of a simple applicative programming language by means of an interpreter written in a similar language. Definitions in each of the above classifications are derived from one another by informal but constructive methods. The treatment of imperative features such as jumps and assignment is also discussed.
Combinatory Reduction Systems: introduction and survey
 THEORETICAL COMPUTER SCIENCE
, 1993
"... Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual firstorder format of term rewriting with the presence of bound variables as in pure λcalculus and various typed calculi. Bound variables are also present in many other rewrite systems, such as systems with simpl ..."
Abstract

Cited by 84 (9 self)
 Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual firstorder format of term rewriting with the presence of bound variables as in pure λcalculus and various typed calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are nonambiguous (no overlap leading to a critical pair) and leftlinear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power, and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the wellknown confluence proof for λcalculus by Tait and MartinLof. There is a wellknown connection between the para...
Functional Nets
 IN PROC. EUROPEAN SYMPOSIUM ON PROGRAMMING, NUMBER 1782 IN LNCS
, 2000
"... Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They ..."
Abstract

Cited by 34 (5 self)
 Add to MetaCart
Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They
Presentation by tree transformation
 In IEEE COMPCON '97
, 1997
"... Every interactive system requires a presentation mechanism, to show the user the data it handles. Often, the relationship between the data and its presentation is complex; further, it is often mediated by astyle mechanism, allowing the user or a designer to describe how the data should be displayed. ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Every interactive system requires a presentation mechanism, to show the user the data it handles. Often, the relationship between the data and its presentation is complex; further, it is often mediated by astyle mechanism, allowing the user or a designer to describe how the data should be displayed. It is a standing engineering challenge to develop a presentation model that is exible, handling many kinds of data and layout; powerful, giving the user extensive control over appearance; and e cient enough for interactive work. In this dissertation, we propose a model of presentation by tree transformation. Because information often has a hierarchical logical structure, trees are widely used to represent documents and other data. The layout or presentation of a document is also often modeled as a computation over a tree. But these trees are not generally identical. In other words, presentation can be seen as a mapping between trees. Casting it as a formal tree transformation o ers both expressive, compact style speci cations and e cient implementation. We present a general framework for presentation by tree transformation. It has been implemented as part of Ensemble, a software development environment and multimedia document system
An Operational Semantics of Firing Rules for Structured Analysis Style Data Flow Diagrams
 IOWA STATE UNIVERSITY, DEPARTMENT OF COMPUTER SCIENCE, 226 ATANASOFF HALL, AMES, IOWA 50011
, 1996
"... Using operational semantic techniques, an extended variant of structured analysis style data flow diagrams is given a formal semantics. This semantics allows one to describe both how information is processed and the dynamic behavior of the system. The ability to describe dynamic behavior is an exten ..."
Abstract

Cited by 7 (6 self)
 Add to MetaCart
Using operational semantic techniques, an extended variant of structured analysis style data flow diagrams is given a formal semantics. This semantics allows one to describe both how information is processed and the dynamic behavior of the system. The ability to describe dynamic behavior is an extension to the traditional notion of data flow diagrams. This semantics can serve as a target for giving meaning to specification languages that use a graphical notation similar to data flow diagrams.
An Effective Speculative Evaluation Technique for Parallel Supercombinator Graph Reduction
, 1993
"... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation: The Problems of Parall ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation: The Problems of Parallel Programming . . . . . . . . . . . . . . . . . . . . . 2 1.2 A First Solution: Functional Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 A Refined Solution: Speculative Evaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 A Final Solution: Effective Speculative Evaluation . . . . . . . . . . . . . . . . . . . . . 12 1.5 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2. Supercombinator Graph Reduction . . . . . . . . . . . . . . . . . . . . . . . . . ...
Infinitary Normalization
 We Will Show Them: Essays in Honour of Dov Gabbay
, 2005
"... abstract. In infinitary orthogonal firstorder term rewriting the properties confluence (CR), Uniqueness of Normal forms (UN), Parallel Moves Lemma (PML) have been generalized to their infinitary versions CR ∞ , UN ∞ , PML ∞ , and so on. Several relations between these properties have been establish ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
abstract. In infinitary orthogonal firstorder term rewriting the properties confluence (CR), Uniqueness of Normal forms (UN), Parallel Moves Lemma (PML) have been generalized to their infinitary versions CR ∞ , UN ∞ , PML ∞ , and so on. Several relations between these properties have been established in the literature. Generalization of the termination properties, Strong Normalization (SN) and Weak Normalization (WN) to SN ∞ and WN ∞ is less straightforward. We present and explain the definitions of these infinitary normalization notions, and establish that as a global property of orthogonal TRSs they coincide, so at that level there is just one notion of infinitary normalization. Locally, at the level of individual terms, the notions are still different. In the setting of orthogonal term rewriting we also provide an elementary proof of UN ∞ , the infinitary Unique Normal form property. 12
Naïve computational type theory
 Proof and SystemReliability, Proceedings of International Summer School Marktoberdorf, July 24 to August 5, 2001, volume 62 of NATO Science Series III
, 2002
"... The basic concepts of type theory are fundamental to computer science, logic and mathematics. Indeed, the language of type theory connects these regions of science. It plays a role in computing and information science akin to that of set theory in pure mathematics. There are many excellent accounts ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
The basic concepts of type theory are fundamental to computer science, logic and mathematics. Indeed, the language of type theory connects these regions of science. It plays a role in computing and information science akin to that of set theory in pure mathematics. There are many excellent accounts of the basic ideas of type theory, especially at the interface of computer science and logic — specifically, in the literature of programming languages, semantics, formal methods and automated reasoning. Most of these are very technical, dense with formulas, inference rules, and computation rules. Here we follow the example of the mathematician Paul Halmos, who in 1960 wrote a 104page book called Naïve Set Theory intended to make the subject accessible to practicing mathematicians. His book served many generations well. This article follows the spirit of Halmos ’ book and introduces type theory without recourse to precise axioms and inference rules, and with a minimum of formalism. I start by paraphrasing the preface to Halmos ’ book. The sections of this article follow his chapters closely. Every computer scientist agrees that every computer scientist must know some type theory; the disagreement begins in trying to decide how much is some. This article contains my partial answer to that question. The purpose of the article is to tell the beginning student of advanced computer science the basic type theoretic facts of life, and to do so with a minimum of philosophical discourse and logical formalism. The point throughout is that of a prospective computer scientist eager to study programming languages, or database systems, or computational complexity theory, or distributed systems or information discovery. In type theory, “naïve ” and “formal ” are contrasting words. The present treatment might best be described as informal type theory from a naïve point of view. The concepts are very general and very abstract; therefore they may
Calculi for Functional Programming Languages with Assignment
, 1996
"... Calculi for Functional Programming Languages with Assignment Daniel Eli Rabin 1996 Pure functional programming and imperative programming appear to be contradictory approaches to the design of programming languages. Pure functional programming insists that variables have unchanging bindings and tha ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Calculi for Functional Programming Languages with Assignment Daniel Eli Rabin 1996 Pure functional programming and imperative programming appear to be contradictory approaches to the design of programming languages. Pure functional programming insists that variables have unchanging bindings and that these bindings may be substituted freely for occurrences of the variables. Imperative programming, however, relies for its computational power on the alteration of variable bindings by the action of the program. One particular approach to merging the two design principles into the same programming language introduces a notion of assignable variable distinct from that of functionally bound variable. In this approach, functional programming languages are extended with new syntactic constructs denoting sequences of actions, including assignment to and reading from assignable variables. Swarup, Reddy and Ireland have proposed a typed lambdacalculus in this style as a foundation for programmin...
Formal Semantics for Structured Analysis Style Data Flow Diagram Specification Languages
 IN SAC
, 1996
"... Using operational semantic techniques, we present a formal semantics for an extended variant of structured analysis style data flow diagrams. This semantics is intended to serve as a semantic foundation for many different specification languages that specify concurrent systems using a graphical nota ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Using operational semantic techniques, we present a formal semantics for an extended variant of structured analysis style data flow diagrams. This semantics is intended to serve as a semantic foundation for many different specification languages that specify concurrent systems using a graphical notation similar to data flow diagrams. Besides allowing one to specify how information is processed, it allows one to specify the dynamic behavior of a concurrent system. We discuss various semantic issues, including the need for a twostep firing rule and how the semantics supports the notion of refinement.