We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: Eilenberg--Moore Monoids and Backtracking Monad Transformers

Authors: Maciej Piróg (Department of Computer Science, KU Leuven, Belgium)
Abstract: We develop an algebraic underpinning of backtracking monad transformers in the general setting of monoidal categories. As our main technical device, we introduce Eilenberg--Moore monoids, which combine monoids with algebras for strong monads. We show that Eilenberg--Moore monoids coincide with algebras for the list monad transformer ('done right') known from Haskell libraries.
From this, we obtain a number of results, including the facts that the list monad transformer is indeed a monad, a transformer, and an instance of the MonadPlus class. Finally, we construct an Eilenberg--Moore monoid of endomorphisms, which, via the codensity monad construction, yields a continuation-based implementation a la Hinze.
Comments: In Proceedings MSFP 2016, arXiv:1604.00384
Subjects: Programming Languages (cs.PL); Software Engineering (cs.SE)
Journal reference: EPTCS 207, 2016, pp. 23-56
DOI: 10.4204/EPTCS.207.2
Cite as: arXiv:1604.01184 [cs.PL]
  (or arXiv:1604.01184v1 [cs.PL] for this version)

Submission history

From: EPTCS [view email]
[v1] Tue, 5 Apr 2016 09:03:53 GMT (36kb)

Link back to: arXiv, form interface, contact.