A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
A Sampler of Formal Definitions
ACM Computing Surveys (CSUR)
Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Control Flow Aspects of Semantics-Directed Compiling
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
A Metalanguage for interactive proof in LCF
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A semantics-directed compiler generator
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics-directed machine architecture
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler generation from denotational semantics
Semantics-Directed Compiler Generation, Proceedings of a Workshop
A types-as-sets semantics for milner-style polymorphism
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compiling a functional language
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
HOPE: An experimental applicative language
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Experience with an experimental compiler generator based on denotational semantics
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Macro-by-example: Deriving syntactic transformations from their specifications
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A realistic compiler generator based on high-level semantics: another progress report
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Concrete syntax for data objects in functional languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Type inference and semi-unification
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Static and dynamic semantics processing
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structured programming with limited private types in Ada: nesting if for the soaring eagles
ACM SIGAda Ada Letters
A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiling actions by partial evaluation
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the use of LISP in implementing denotational semantics
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Finding the source of type errors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel)
ASM '00 Proceedings of the International Workshop on Abstract State Machines, Theory and Applications
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
On the correctness of transformations in compiler back-ends
ISoLA'04 Proceedings of the First international conference on Leveraging Applications of Formal Methods
Action semantics-directed prototyping
Computer Languages
Hi-index | 0.00 |
We have written a set of computer programs for testing and exercising programming language specifications given in the style of denotational semantics. The system is built largely in Scheme 84, a dialect of LISP that serves as an efficient lambda-calculus interpreter. The system consists of:• a syntax-directed transducer, which embodies the principle of compositionality,• a type checker, which is extremely useful in debugging semantic definitions, and• an interface to the yacc parser-generator, which allows the system to use concrete syntax rather than the often cumbersome abstract syntax for its programs.In this paper, we discuss the design of the system, its implementation, and discuss its use.