Published online by Cambridge University Press: 13 July 2017
We employ the framework of algebraic effects to augment the list monad with the pruning cut operator known from Prolog. We give two descriptions of the resulting monad: as the monad of free left-zero monoids, and as a composition via a distributive law of the list monad and the ‘unary idempotent operation’ monad. The scope delimiter of cut arises as a handler.
Research supported by a Royal Society University Research Fellowship and EPSRC Grant EP/N007387/1