Corpus ID: 117041739

An operational semantics for R5RS Scheme

@inproceedings{Matthews2005AnOS,
  title={An operational semantics for R5RS Scheme},
  author={Jacob Matthews and R. Findler},
  year={2005}
}
A Formal Rewriting Logic Semantic Definition of Scheme
TLDR
The definition of Scheme is purely equational, so it can be regarded as an algebraic denotational specification with an initial model/algebra semantics of Scheme, and is executable, in the sense that equations can be oriented from left-to-right into rewrite rules and thus giving an operational semantics of scheme as well. Expand
A K Definition of Scheme
TLDR
The rewriting logic semantics in this paper is the most complete formal definition of Scheme that the author is aware of, in the sense that it provides definitions for more Scheme language features than any other similar attempts. Expand
Delimited dynamic binding
TLDR
A type- and reduction-preserving translation from DB + DC to DC is introduced, which proves that delimited control macro-expresses dynamic binding and is used to implement DB+DC in Scheme, OCaml, and Haskell. Expand
On the Effectiveness of Lightweight Mechanization
Formal models serve in many roles in the programming language community. In its primary role, a model communicates the idea of a language design; the architecture of a language tool; or the essenceExpand
Run your research: on the effectiveness of lightweight mechanization
TLDR
Redex is a domain-specific language for semantic models that is embedded in the Racket programming language and comes with tools for the semantics engineering life cycle. Expand
Formalising, improving, and reusing the Java module system
TLDR
It is found that local aliasing and module-prefixed type references remove the need for boundary renaming, and that in the presence of multiple module instances, care is required to avoid ambiguities at de-serialisation. Expand
Revised6 Report on the Algorithmic Language Scheme
TLDR
Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. Expand
Towards Compatible and Interderivable Semantic Specifications for the Scheme Programming Language, Part I: Denotational Semantics, Natural Semantics, and Abstract Machines
  • O. Danvy
  • Computer Science
  • Semantics and Algebraic Specification
  • 2009
We derive two big-step abstract machines, a natural semantics, and the valuation function of a denotational semantics based on the small-step abstract machine for Core Scheme presented by Clinger atExpand
A Formal Semantics for Control and Data flow in the Gannet Service-based System-on-Chip Architecture
TLDR
This paper presents the Gannet architecture and language and introduces an operational semantics to formally describe the mechanism to separate control and data flows and proposes a functional programming approach for high-abstraction design of very large SoCs. Expand
An operational semantics for Scheme
TLDR
This paper presents an operational semantics for the core of Scheme, and contributes three novel modeling techniques for Felleisen Hieb-style rewriting semantics, suggesting that they would scale to complete models of other languages. Expand
...
1
2
...

References

SHOWING 1-10 OF 15 REFERENCES
A Visual Environment for Developing Context-Sensitive Term Rewriting Systems
TLDR
PLT Redex is an embedded domain-specific language that helps users interactively create and debug context-sensitive term-rewriting systems and discusses the experience using it in courses and developing an operational semantics for R5RS Scheme. Expand
Improving the static analysis of embedded languages via partial evaluation
TLDR
This work shows how to use macros to easily implement partial evaluation of embedded interpreters in order to capture invariants encoded in embedded programs and render them explicit in the terms of their host language. Expand
How to Add Threads to a Sequential Language Without Getting Tangled Up
TLDR
It is possible to integrate Scheme-style first-class continuations and threads in a systematic way and the design choices, consequences, and semantical frameworks that specify the behavior of Scheme programs in the presence of threads are exposed. Expand
Down with Emacs Lisp: dynamic scope analysis
TLDR
An application of the Nielson/Nielson framework for flow analysis to a semantics for dynamic binding akin to Moreau's is presented, which handles a substantial portion of Emacs Lisp, has been applied to realistic Emacs Lisp code, and is highly accurate and reasonably efficient in practice. Expand
PLT MzScheme: Language Manual
A Programmer's Reduction Semantics for Classes and Mixins
TLDR
A model of class-to-class functions that refers to as mixins is developed, which is an intuitive model of an essential Java subset; an extension that explains and models mixins; and type soundness theorems for these languages. Expand
Concurrent programming in ML
TLDR
This practical, "how-to" book focuses on the use of concurrency to implement naturally concurrent applications, and presents three extended examples using CML for practical systems programming. Expand
The Semantics of Future and an Application
TLDR
An idealized functional language with futures is considered and a series of operational semantics with increasing degrees of intensionality is presented, which defines future to be a semantically transparent annotation and interprets a future expression as a potentially parallel task. Expand
Proper tail recursion and space efficiency
TLDR
This paper offers a formal and implementation-independent definition of proper tail recursion for Scheme, and shows how an entire family of reference implementations can be used to characterize related safe-for-space properties, and proves the asymptotic inequalities that hold between them. Expand
A Syntactic Approach to Type Soundness
TLDR
A new approach to proving type soundness for Hindley/Milner-style polymorphic type systems by an adaptation of subject reduction theorems from combinatory logic to programming languages and the use of rewriting techniques for the specification of the language semantics is presented. Expand
...
1
2
...