Hostname: page-component-76fb5796d-zzh7m Total loading time: 0 Render date: 2024-04-26T17:14:23.055Z Has data issue: false hasContentIssue false

Coherence of subsumption for monadic types

Published online by Cambridge University Press:  01 March 2009

JAN SCHWINGHAMMER*
Affiliation:
Programming Systems Lab, Saarland University, 66041 Saarbrücken, Germany (e-mail: jan@ps.uni-sb.de)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

One approach to give semantics to languages with subtypes is by translation to target languages without subtyping: subtypings AB are interpreted via conversion functions AB. This paper shows how to extend the method to languages with computational effects, using Moggi's computational metalanguage.

Type
Theoretical Pearls
Copyright
Copyright © Cambridge University Press 2008

References

Aspinall, David & Compagnoni, Adriana B. (2001)Subtyping dependent types. Theor. Comput. Sci. 266 (1–2), 273309.Google Scholar
Benton, Nick, Hughes, John & Moggi, Eugenio. (2002) Monads and effects. In Advanced Lectures from International Summer School on Applied Aemantics, APPSEM 2000, Barthe, Gilles, Dybjer, Peter, Pinto, Luís & Saraiva, João (eds), Lecture Notes in Computer Science, vol. 2395. Springer, Heidelberg, pp. 42122.Google Scholar
Breazu-Tannen, Val, Coquand, Thierry, Gunter, Carl & Scedrov, Andre. (1991) Inheritance as implicit coercion. Inf. Comput. 93 (1), 172221. Reprinted in Gunter and Mitchell (1994.)CrossRefGoogle Scholar
Breazu-Tannen, Val, Gunter, Carl A. & Scedrov, Andre. (1990) Computing with coercions. In Proceedings of the ACM Conference on LISP and Functional Programming, Gilles, Kahn (ed). ACM Press, New York, pp. 4460.Google Scholar
Cardelli, Luca. (1988) A semantics of multiple inheritance. Inf. Comput. 76 (2/3), 138164.CrossRefGoogle Scholar
Crary, Karl, Kliger, Aleksey & Pfenning, Frank. (2005) A monadic analysis of information flow security with mutable state. J. Funct. Program. 15 (2), 249291.Google Scholar
Curien, Pierre-Louis & Ghelli, Giorgio. (1992) Coherence of subsumption, minimum subtyping and type-checking in F . Math. Struct. Comput. Sci. 2, 5591. Reprinted in Gunter and Mitchell (1994.)CrossRefGoogle Scholar
Gunter, Carl A. & Mitchell, John C. (eds). (1994) Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design. MIT Press, Cambridge, MA.Google Scholar
Levy, Paul Blain. (2004) Call-by-Push-Value. A Functional/Imperative Synthesis. Semantic Structures in Computation, vol. 2. Springer, New York.Google Scholar
Mitchell, John C. (1996) Foundations for Programming Languages. MIT Press, Cambridge, MA.Google Scholar
Moggi, Eugenio. (1990) An Abstract View of Programming Languages. Tech. rept. ECS-LFCS-90-113. Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh.Google Scholar
Moggi, Eugenio. (1991) Notions of computation and monads. Inf. Comput. 93, 5592.CrossRefGoogle Scholar
Pierce, Benjamin C. (2002) Types and Programming Languages. MIT Press, Cambridge, MA.Google Scholar
Pierce, Benjamin C. & Steffen, Martin. (1997) Higher-order subtyping. Theor. Comput. Sci. 176 (1–2), 235282.CrossRefGoogle Scholar
Reynolds, John C. (1980) Using category theory to design implicit conversions and generic operators. In Proceedings of the Aarhus Workshop on Semantics-Directed Compiler Generation, Jones, Neil D. (ed). Lecture Notes in Computer Science, no. 94. Springer, Heidelberg. Reprinted in Gunter and Mitchell (1994.)Google Scholar
Reynolds, John C. (1991) The coherence of languages with intersection types. In Theoretical Aspects of Computer Software (TACS'91), Ito, Takayasu & Meyer, Albert R. (eds). Lecture Notes in Computer Science, no. 526. Springer, Heidelberg, pp. 675700.Google Scholar
Reynolds, John C. (2003) What do types mean?—From intrinsic to extrinsic semantics. In Programming Methodology, McIver, Annabelle & Morgan, Carroll (eds). Monographs in Computer Science. Springer, New York.Google Scholar
Schwinghammer, Jan. (2005) A typed semantics of higher-order store and subtyping. In Proceedings Ninth Italian Conference on Theoretical Computer Science (ICTCS'05), Coppo, Mario, Lodi, Elena & Pinna, G. Michele (eds). Lecture Notes in Computer Science, vol. 3701. Springer, Heidelberg, pp. 390405.Google Scholar
Tannen, Val, Gunter, Carl A. & Scedrov, Andre. (1989) Denotational Semantics for Subtyping Between Recursive Types. Research Report MS-CIS-89-63/Logic & Computation 12. Department of Computer and Information Science, University of Pennsylvania.Google Scholar
Wadler, Philip & Thiemann, Peter. (2003) The marriage of effects and monads. ACM Trans. Comput. Logic 4 (1), 132.CrossRefGoogle Scholar
Zwanenburg, Jan. (1999) Pure type systems with subtyping. In International Conference on Typed Lambda Calculi and Applications (TLCA'99). Lecture Notes in Computer Science, vol. 1581. Springer, Heidelberg, pp. 381396.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.