20 research outputs found
FICS 2010
International audienceInformal proceedings of the 7th workshop on Fixed Points in Computer Science (FICS 2010), held in Brno, 21-22 August 201
Call-by-need is clairvoyant call-by-value
Call-by-need evaluation, also known as lazy evaluation, provides two key benefits: compositional programming and infinite data. The standard semantics for laziness is Launchbury’s natural semantics, which uses a heap to memoise the results of delayed evaluations. However, the stateful nature of this heap greatly complicates reasoning about the operational behaviour of lazy programs. In this article, we propose an alternative semantics for laziness, clairvoyant evaluation, that replaces the state effect with nondeterminism, and prove this semantics equivalent in a strong sense to the standard semantics. We show how this new semantics greatly simplifies operational reasoning, admitting much simpler proofs of a number of results from the literature, and how it leads to the first denotational cost semantics for lazy evaluation
Revised 3.99 Report on the Algorithmic Language Scheme
46 pagesThe report gives a defining description of the programming
language Scheme. Scheme is a statically scoped and
properly tail-recursive dialect of the Lisp programming
language invented by Guy Lewis Steele Jr. and Gerald
Jay Sussman. It was designed to have an exceptionally
clear and simple semantics and few different ways to form
· expressions. A wide variety of programming paradigms, including
imperative, functional, and message passing styles,
find convenient expression in Scheme.
The introduction offers a brief history of the language and
of the report.
The first three chapters present the fundamental ideas of
the language and describe the notational conventions used
for describing the language· and for writing programs in the
language.
Chapters 4 and 5 describe the syntax and semantics of
expressions, programs, and definitions.
Chapter 6 describes Scheme's built-in procedures, which
include all of the language's data manipulation and input/
output primitives.
Chapter 7 provides a formal syntax for Scheme written in
extended BNF, along with a formal denotational semantics.
The report concludes with an example of the use of the
language and an alphabetic index
An Analytical Approach to Programs as Data Objects
This essay accompanies a selection of 32 articles (referred to in bold face in the text and marginally marked in the bibliographic references) submitted to Aarhus University towards a Doctor Scientiarum degree in Computer Science.The author's previous academic degree, beyond a doctoral degree in June 1986, is an "Habilitation à diriger les recherches" from the Université Pierre et Marie Curie (Paris VI) in France; the corresponding material was submitted in September 1992 and the degree was obtained in January 1993.The present 32 articles have all been written since 1993 and while at DAIMI.Except for one other PhD student, all co-authors are or have been the author's students here in Aarhus
(I) A Declarative Framework for ERP Systems(II) Reactors: A Data-Driven Programming Model for Distributed Applications
To those who can be swayed by argument and those who know they do not have all the answers This dissertation is a collection of six adapted research papers pertaining to two areas of research. (I) A Declarative Framework for ERP Systems: • POETS: Process-Oriented Event-driven Transaction Systems. The paper describes an ontological analysis of a small segment of the enterprise domain, namely the general ledger and accounts receivable. The result is an event-based approach to designing ERP systems and an abstract-level sketch of the architecture. • Compositional Specification of Commercial Contracts. The paper de-scribes the design, multiple semantics, and use of a domain-specific lan-guage (DSL) for modeling commercial contracts. • SMAWL: A SMAll Workflow Language Based on CCS. The paper show