An Action Semantics Based on Two Combinators

  • Kyung-Goo Doh
  • David A. Schmidt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5700)


We propose a naive version of action semantics that begins with a selection of “transient” and “persistent” facets, each characterized as a partial monoid. Yielders are defined as operations on the monoids’ values, and actions extract values from the facets, give them to yielders, and place the results into facet output. Actions are composed with a primary combinator, andthen, which can be specialized for multiple facet flows, and the choice combinator, or. Using big-step-style deduction rules, we give the semantics of yielders and actions, and we introduce a weakening rule and a strengthening rule, which let us compose actions with different facet domain-codomains. We also introduce Mosses abstraction, a lambda-abstraction variant that improves the readability of action-semantics definitions. Finally, we exploit the subsort (subtype) structure within Mosses’s unified algebras to use the deduction rules as both a typing definition as well as a semantics definition. Partial evaluation techniques are applied to type check and compile programs.


Action Equation Partial Evaluation Valuation Function Action Semantic Denotational Semantic 
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.
    Doh, K.-G.: Action transformation by partial evaluation. In: PEPM 1995, pp. 230–240. ACM Press, New York (1995)Google Scholar
  2. 2.
    Doh, K.-G., Mosses, P.D.: Composing programming languages by combining action-semantics modules. Sci. Computer Prog. 47, 3–36 (2003)CrossRefzbMATHGoogle Scholar
  3. 3.
    Doh, K.-G., Schmidt, D.A.: Extraction of strong typing laws from action semantics definitions. In: Krieg-Brückner, B. (ed.) ESOP 1992. LNCS, vol. 582, pp. 151–166. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  4. 4.
    Doh, K.-G., Schmidt, D.A.: The facets of action semantics: some principles and applications. In: Workshop on Action Semantics, pp. 1–15. Univ. of Aarhus, BRICS NS-94-1 (1994)Google Scholar
  5. 5.
    Doh, K.-G., Schmidt, D.A.: Action semantics-directed prototyping. Computer Languages 19, 213–233 (1993)CrossRefGoogle Scholar
  6. 6.
    Guessarian, I.: Algebraic Semantics. In: Guessarian, I. (ed.) Algebraic Semantics. LNCS, vol. 99, Springer, Heidelberg (1981)CrossRefGoogle Scholar
  7. 7.
    Gunter, C., Scott, D.S.: Semantic domains. In: Handbook of Theoretical Computer Science, vol. B, pp. 633–674. MIT Press, Cambridge (1991)Google Scholar
  8. 8.
    Jones, N.D., Gomard, C., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  9. 9.
    Mosses, P.D.: A semantic algebra for binding constructs. In: Díaz, J., Ramos, I. (eds.) Formalization of Programming Concepts. LNCS, vol. 107, pp. 408–418. Springer, Heidelberg (1981)CrossRefGoogle Scholar
  10. 10.
    Mosses, P.D.: Abstract semantic algebras! In: Formal Description of Programming Concepts II, Proceedings of the IFIP TC2 Working Conference, Garmisch-Partenkirchen, 1982, pp. 45–72. IFIP, North-Holland, Amsterdam (1983)Google Scholar
  11. 11.
    Mosses, P.D.: A basic abstract semantic algebra. In: Plotkin, G., MacQueen, D.B., Kahn, G. (eds.) Semantics of Data Types 1984. LNCS, vol. 173, pp. 87–107. Springer, Heidelberg (1984)CrossRefGoogle Scholar
  12. 12.
    Mosses, P.D.: Unified algebras and action semantics. In: Cori, R., Monien, B. (eds.) STACS 1989. LNCS, vol. 349, Springer, Heidelberg (1989)CrossRefGoogle Scholar
  13. 13.
    Mosses, P.D.: Action Semantics. Cambridge Tracts in Theoretical Computer Science, vol. 26. Cambridge University Press, Cambridge (1992)CrossRefzbMATHGoogle Scholar
  14. 14.
    Mosses, P.D.: Denotational semantics. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science. Formal Models and Sematics (B), vol. B, pp. 575–631. MIT Press, Cambridge (1990)Google Scholar
  15. 15.
    Mosses, P.D.: Theory and practice of action semantics. In: Penczek, W., Szałas, A. (eds.) MFCS 1996. LNCS, vol. 1113, pp. 37–61. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  16. 16.
    Mosses, P.D., Watt, D.A.: The use of action semantics. In: Wirsing, M. (ed.) Formal Description of Programming Concepts III, Proc. IFIP TC2 Working Conference, Gl. Avernæs, 1986, IFIP, North-Holland (1987)Google Scholar
  17. 17.
    Nielson, F., Nielson, H.R.: Two-Level Functional Languages. Cambridge University Press, Cambridge (1992)CrossRefzbMATHGoogle Scholar
  18. 18.
    Schmidt, D.A.: Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Inc. (1986)Google Scholar
  19. 19.
    Scott, D.S., Strachey, C.: Toward a mathematical semantics for computer languages. In: Fox, J. (ed.) Proceedings of Symposium on Computers and Automata, Polytechnic Institute of Brooklyn. Microwave Research Institute Symposia Series, vol. 21, pp. 19–46 (1971)Google Scholar
  20. 20.
    Stoy, J.E.: Denotational Semantics. MIT Press, Cambridge (1977)zbMATHGoogle Scholar
  21. 21.
    Strachey, C.: The varieties of programming language. Technical Report PRG-10, Prog. Research Group, Oxford University (1973)Google Scholar
  22. 22.
    Watt, D.A.: An action semantics of standard ML. In: Main, M.G., Mislove, M.W., Melton, A.C., Schmidt, D. (eds.) MFPS 1987. LNCS, vol. 298, pp. 572–598. Springer, Heidelberg (1988)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Kyung-Goo Doh
    • 1
    • 2
  • David A. Schmidt
    • 1
    • 2
  1. 1.Hanyang UniversityAnsanSouth Korea
  2. 2.Kansas State UniversityManhattanUSA

Personalised recommendations