Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Doh, K.-G.: Action transformation by partial evaluation. In: PEPM 1995, pp. 230–240. ACM Press, New York (1995)
Doh, K.-G., Mosses, P.D.: Composing programming languages by combining action-semantics modules. Sci. Computer Prog. 47, 3–36 (2003)
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)
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)
Doh, K.-G., Schmidt, D.A.: Action semantics-directed prototyping. Computer Languages 19, 213–233 (1993)
Guessarian, I.: Algebraic Semantics. In: Guessarian, I. (ed.) Algebraic Semantics. LNCS, vol. 99, Springer, Heidelberg (1981)
Gunter, C., Scott, D.S.: Semantic domains. In: Handbook of Theoretical Computer Science, vol. B, pp. 633–674. MIT Press, Cambridge (1991)
Jones, N.D., Gomard, C., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)
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)
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)
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)
Mosses, P.D.: Unified algebras and action semantics. In: Cori, R., Monien, B. (eds.) STACS 1989. LNCS, vol. 349, Springer, Heidelberg (1989)
Mosses, P.D.: Action Semantics. Cambridge Tracts in Theoretical Computer Science, vol. 26. Cambridge University Press, Cambridge (1992)
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)
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)
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)
Nielson, F., Nielson, H.R.: Two-Level Functional Languages. Cambridge University Press, Cambridge (1992)
Schmidt, D.A.: Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, Inc. (1986)
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)
Stoy, J.E.: Denotational Semantics. MIT Press, Cambridge (1977)
Strachey, C.: The varieties of programming language. Technical Report PRG-10, Prog. Research Group, Oxford University (1973)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Doh, KG., Schmidt, D.A. (2009). An Action Semantics Based on Two Combinators. In: Palsberg, J. (eds) Semantics and Algebraic Specification. Lecture Notes in Computer Science, vol 5700. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04164-8_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-04164-8_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04163-1
Online ISBN: 978-3-642-04164-8
eBook Packages: Computer ScienceComputer Science (R0)