Skip to main navigation Skip to search Skip to main content

Strict and lazy semantics for effects: Layering monads and comonads

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Two particularly important classes of effects are those that can be given semantics using a monad and those that can be given semantics using a comonad. Currently, programs with both kinds of effects are usually given semantics using a technique that relies on a distributive law. While it is known that not every pair of a monad and a comonad has a distributive law, it was previously unknown if there were any realistic pairs of effects that could not be given semantics in this manner. This paper answers that question by giving an example of a pair of effects that cannot be given semantics using a distributive law. Our example furthermore is intimately tied to the duality of strictness and laziness. We discuss how to view this duality through the lens of effects.

Original languageEnglish
Article number3236783
JournalProceedings of the ACM on Programming Languages
Volume2
Issue numberICFP
DOIs
StatePublished - Sep 2018

Keywords

  • Classical Logic
  • Comonad
  • Consumer Effect
  • Distributive Law
  • Layering
  • Laziness
  • Linear Logic
  • Monad
  • Producer Effect
  • Strictness

Fingerprint

Dive into the research topics of 'Strict and lazy semantics for effects: Layering monads and comonads'. Together they form a unique fingerprint.

Cite this