scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Sur un Exemple de Patrick Greussay

11 Dec 2004-BRICS Report Series-Vol. 11, Iss: 41
TL;DR: An example proposed by Patrick Greussay in his doctoral thesis: how to verify in sublinear time whether a Calder mobile is well balanced is revisited, and a spectrum of solutions is derived, starting from the original specification of the problem.
Abstract: This note was written at the occasion of the retirement of Jean-Francois Perrot at the Universite Pierre et Marie Curie (Paris VI). In an attempt to emulate his academic spirit, we revisit an example proposed by Patrick Greussay in his doctoral thesis: how to verify in sublinear time whether a Calder mobile is well balanced. Rather than divining one solution or another, we derive a spectrum of solutions, starting from the original specification of the problem. We also prove their correctness.

Content maybe subject to copyright    Report

Citations
More filters
DissertationDOI
TL;DR: The author's previous academic degree, beyond a doctoral degree in June 1986, is an "Habilitation a diriger les recherches" from the Universite Pierre et Marie Curie (Paris VI) in France; the corresponding material was submitted in September 1992 and the degree was obtained in January 1993 as discussed by the authors.
Abstract: 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 a diriger les recherches" from the Universite 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.

22 citations

Book ChapterDOI
02 Jul 2009
TL;DR: This work identifies a new class of use cases for control structures in JavaScript, namely the idiomatic translation of control structures from DSLs, and concludes that translations should preserve not just the data structures and the block structure of a source program, but also its control structure.
Abstract: It is a time-honored fashion to implement a domain-specific language (DSL) by translation to a general-purpose language. Such an implementation is more portable, but an unidiomatic translation jeopardizes performance because, in practice, language implementations favor the common cases. This tension arises especially when the domain calls for complex control structures. We illustrate this tension by revisiting Landin's original correspondence between Algol and Church's lambda-notation. We translate domain-specific programs with lexically scoped jumps to JavaScript. Our translation produces the same block structure and binding structure as in the source program, a la Abdali. The target code uses a control operator in direct style, a la Landin. In fact, the control operator used is almost Landin's J--hence our title. Our translation thus complements a continuation-passing translation a la Steele. These two extreme translations require JavaScript implementations to cater either for first-class continuations, as Rhino does, or for proper tail recursion. Less extreme translations should emit more idiomatic control-flow instructions such as for , break , and throw . The present experiment leads us to conclude that translations should preserve not just the data structures and the block structure of a source program, but also its control structure. We thus identify a new class of use cases for control structures in JavaScript, namely the idiomatic translation of control structures from DSLs.

5 citations


Cites background from "Sur un Exemple de Patrick Greussay"

  • ...Appendix B.3 displays a program that recursively descends into a binary tree, testing whether it represents a Calder mobile [ 13 ]....

    [...]

DissertationDOI
TL;DR: This dissertation identifies that backward overlapping reduction rules in the small-step semantics cause the refocusing step of the syntactic correspondence to be inapplicable and proposes two solutions to overcome this in-applicability: backtracking and rule generalization.
Abstract: We study the relationship between small-step semantics, big-step semantics and abstract machines, for programming languages that employ an outermost reduction strategy, i.e., languages where reductions near the root of the abstract syntax tree are performed before reductions near the leaves. In particular, we investigate how Biernacka and Danvy's syntactic correspondence and Reynolds's functional correspondence can be applied to inter-derive semantic specifications for such languages. The main contribution of this dissertation is three-fold: First, we identify that backward overlapping reduction rules in the small-step semantics cause the refocusing step of the syntactic correspondence to be inapplicable. Second, we propose two solutions to overcome this in-applicability: backtracking and rule generalization. Third, we show how these solutions affect the other transformations of the two correspondences. Other contributions include the application of the syntactic and functional correspondences to Boolean normalization. In particular, we show how to systematically derive a spectrum of normalization functions for negational and conjunctive normalization.

3 citations

References
More filters
Journal Article

2,380 citations


"Sur un Exemple de Patrick Greussay" refers background in this paper

  • ...On peut aussi d´efonctionnaliser cette solution en un syst`eme de transitions, i.e., une machine abstraite ou encore un automate d’´etats fini `a pile [4, 9 ,12]....

    [...]

Journal ArticleDOI
TL;DR: Calculi are introduced, based on a categorical semantics for computations, that provide a correct basis for proving equivalence of programs for a wide range of notions of computation.
Abstract: The λ-calculus is considered a useful mathematical tool in the study of programming languages, since programs can be identified with λ-terms. However, if one goes further and uses βη-conversion to prove equivalence of programs, then a gross simplification is introduced (programs are identified with total functions from values to values ) that may jeopardise the applicability of theoretical results. In this paper we introduce calculi, based on a categorical semantics for computations , that provide a correct basis for proving equivalence of programs for a wide range of notions of computation .

1,825 citations


"Sur un Exemple de Patrick Greussay" refers background in this paper

  • ...Est-ce `a dire qu’une solution purement fonctionnelle est hors de port´ee? La r´eponse est bien sˆur n´egative si l’on utilise une monade d’exceptions [ 8 ] ou alors si l’on passe les r´esultats interm´ediaires `a une continuation, ce que nous faisons ci-apr`es....

    [...]

Book
01 May 1997
TL;DR: Part 1 Syntax of the core: reserved words special constants comments identifiers lexical analysis infixed operators derived forms grammar syntactic restrictions.
Abstract: Part 1 Syntax of the core: reserved words special constants comments identifiers lexical analysis infixed operators derived forms grammar syntactic restrictions. Part 2 Syntax of modules: reserved words identifiers infixed operators grammar for modules syntactic restrictions. Part 3 Static semantics for the core: simple objects compound objects projection, injection and modification types and type functions type schemes scope of explicit type variables non-expansive expressions closure type structures and type environments inference rules further restrictions. Part 4 Static semantics for modules: semantic objects type realization signature instantiation functor signature instantiation enrichment signature matching inference rules. Part 5 Dynamic semantics for the core: reduced syntax simple objects compound objects basic values basic exceptions function closures inference rules. Part 6 Dynamic semantics for modules: reduced syntax compound objects inference rules. Part 7 Programmes. Part 8 Appendices.

971 citations

Journal ArticleDOI
01 Dec 1998
TL;DR: This work considers the definition of a simple applicative programming language by means of an interpreter written in a similar language, and considers the treatment of imperative features such as jumps and assignment.
Abstract: Higher-order 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 higher-order 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.

277 citations


"Sur un Exemple de Patrick Greussay" refers background in this paper

  • ...On peut aussi d´efonctionnaliser cette solution en un syst`eme de transitions, i.e., une machine abstraite ou encore un automate d’´etats fini `a pile [4,9, 12 ]....

    [...]

Journal ArticleDOI
01 Nov 1993
TL;DR: A brief account of the discoveries of continuations and related concepts by A. L. Morris, C. P. Wadsworth, J. J. Fischer, and S. Abdali is given.
Abstract: We give a brief account of the discoveries of continuations and related concepts by A. van Wijngaarden, A. W. Mazurkiewicz, F. L. Morris, C. P. Wadsworth, J. H. Morris, M. J. Fischer, and S. K. Abdali.

274 citations


"Sur un Exemple de Patrick Greussay" refers background in this paper

  • ...Depuis trente ans [ 11 ], les continuations ont ´et´e d´ecouvertes dans pratiquement tous les domaines de l’informatique, des plus abstraits — logique intuitionniste, math´ematiques constructives, th´eorie des types, th´eorie des langages de programmation — aux plus concrets — implantation de langages de programmation, services dans les syst`emes d’exploitation, processus et autres ‘threads’, interfaces ......

    [...]