Alternative semantics for McCarthy's amb

  • William Clinger
  • Charles Halpern
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 197)


McCarthy's ambiguous operator amb is a locally angelic choice operator. A description of its semantics using power domains is much more complex than similar descriptions of globally angelic choice or erratic choice. Operational semantics based on rewrite rules are used here to compare the three kinds of choice. A natural problem shows erratic choice to be less expressive than the angelic forms of choice. Erratic choice and globally angelic choice share a pleasant distribution property that has been proposed as the basis for an algebra of nondeterministic programs. Locally angelic choice does not share this property. Locally angelic choice may play a role in otherwise globally angelic nondeterministic programs similar to the role played by the cut operator in Prolog.


Operational Semantic Program Scheme Evaluation Rule Choice Operator Erratic Choice 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    H P Barendregt, The Lambda Calculus: its Syntax and Semantics, North-Holland, Amsterdam, 1981.Google Scholar
  2. [2]
    G Berry, “Séquentialité de l'evaluation formelle des lambda-expressions”, in: Proc. 3-e Colloque International sur la Programmation, Paris, mars 1978 (Dunod, Paris).Google Scholar
  3. [3]
    Manfred Broy, “A fixed point approach to applicative multiprogramming”, lecture notes for the International Summer School on Theoretical Foundations of Programming Methodology, July 1981.Google Scholar
  4. [4]
    William Clinger, “Nondeterministic call by need is neither lazy nor by name”, Conference Record of the 1982 ACM Symposium on Lisp and Functional Programming, August 1982, pages 226–234.Google Scholar
  5. [5]
    A Toni Cohen and Thomas J Myers, “Toward an algebra of nondeterministic programs”, Conference Record of the 1982 ACM Symposium on Lisp and Functional Programming, August 1982, pages 235–242.Google Scholar
  6. [6]
    M C B Hennessy and E A Ashcroft, “Parameter passing methods and nondeterminism”, Ninth Annual ACM Symposium on the Theory of Computing, Boulder, 1977.Google Scholar
  7. [7]
    J R Kenneway and C A R Hoare, “A theory of nondeterminism”, in de Bakker and Leuwen [ed], Proceedings of the 7th International Colloquium on Automata, Languages, and Programming, Springer-Verlag Lecture Notes in Computer Science 85, 1980, pages 338–350.Google Scholar
  8. [8]
    John McCarthy, “A basis for a mathematical theory of computation”, in Computer Programming and Formal Systems, P Braffort and D Hirschberg [ed], North-Holland, Amsterdam, 1963, pages 33–70.Google Scholar
  9. [9]
    David Park, “On the semantics of fair parallelism”, University of Warwick Theory of Computation Report 31, October 1979.Google Scholar
  10. [10]
    G D Plotkin, “A powerdomain construction”, SIAM J Computing 5, 3, September 1976, pages 452–487.Google Scholar
  11. [11]
    Stephen A Ward, “Functional domains of applicative languages”, MIT Project MAC Technical Report 136, September 1974.Google Scholar

Copyright information

© Springer-Verlag 1985

Authors and Affiliations

  • William Clinger
    • 1
  • Charles Halpern
    • 2
  1. 1.Indiana UniversityUSA
  2. 2.University of TorontoCanada

Personalised recommendations