Idioms are Oblivious, Arrows are Meticulous, Monads are Promiscuous

  • Authors:
  • Sam Lindley;Philip Wadler;Jeremy Yallop

  • Affiliations:
  • Laboratory for Foundations of Computer Science, School of Informatics, University of Edinburgh, 10 Crichton Street, Edinburgh EH8 9AB, United Kingdom;Laboratory for Foundations of Computer Science, School of Informatics, University of Edinburgh, 10 Crichton Street, Edinburgh EH8 9AB, United Kingdom;Laboratory for Foundations of Computer Science, School of Informatics, University of Edinburgh, 10 Crichton Street, Edinburgh EH8 9AB, United Kingdom

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We revisit the connection between three notions of computation: Moggi@?s monads, Hughes@?s arrows and McBride and Paterson@?s idioms (also called applicative functors). We show that idioms are equivalent to arrows that satisfy the type isomorphism A@?B~1@?(A-B) and that monads are equivalent to arrows that satisfy the type isomorphism A@?B~A-(1@?B). Further, idioms embed into arrows and arrows embed into monads.