
arXiv: 1604.01184
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.
In Proceedings MSFP 2016, arXiv:1604.00384
FOS: Computer and information sciences, Technology, Science & Technology, Computer Science - Programming Languages, QA75.5-76.95, Software Engineering (cs.SE), Computer Science - Software Engineering, Computer Science, Theory & Methods, Electronic computers. Computer science, Computer Science, QA1-939, Mathematics, Programming Languages (cs.PL)
FOS: Computer and information sciences, Technology, Science & Technology, Computer Science - Programming Languages, QA75.5-76.95, Software Engineering (cs.SE), Computer Science - Software Engineering, Computer Science, Theory & Methods, Electronic computers. Computer science, Computer Science, QA1-939, Mathematics, Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 5 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
