20 Citations (Scopus)

Abstract

In functional programming, monadic characterizations of computational effects are normally understood denotationally: they describe how an effectful program can be systematically expanded or translated into a larger, pure program, which can then be evaluated according to an effect-free semantics. Any effect-specific operations expressible in the monad are also given purely functional definitions, but these definitions are only directly executable in the context of an already translated program. This approach thus takes an inherently Church-style view of effects: the nominal meaning of every effectful term in the program depends crucially on its type. We present here a complementary, operational view of monadic effects, in which an effect definition directly induces an imperative behavior of the new operations expressible in the monad. This behavior is formalized as additional operational rules for only the new constructs; it does not require any structural changes to the evaluation judgment. Specifically, we give a small-step operational semantics of a prototypical functional language supporting programmer-definable, layered effects, and show how this semantics naturally supports reasoning by familiar syntactic techniques, such as showing soundness of a Curry-style effect-type system by the progress〈preservation method.

Original languageEnglish
Title of host publicationPOPL'10 : Proceedings of the 37th annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Number of pages12
PublisherAssociation for Computing Machinery
Publication dateJan 2010
Pages483-494
ISBN (Print)978-1-60558-479-9
DOIs
Publication statusPublished - Jan 2010
Event37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Madrid, Spain
Duration: 17 Jan 201023 Jan 2010
Conference number: 37

Conference

Conference37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Number37
Country/TerritorySpain
CityMadrid
Period17/01/201023/01/2010

Fingerprint

Dive into the research topics of 'Monads in action'. Together they form a unique fingerprint.

Cite this