| monoid | R Documentation |
Creates the monoid binary operator for a monoid in the Continuation category.
monoid(op)
op |
The binary operator to be be insert in the monoid (multiplication). |
It returns a function of the type h(f, g) where f and g must be elements of the monoid and objects in the Continuation category. The function h will return a function of the type t(x, ret) which can be used in the Continuation category.
The developer must make sure that the function f and g are elements of a monoid and of the Continuation category. The developer must also ensure that the operator op is the monoid's binary operator.
Matteo Provenzano
http://www.alephdue.com
https://en.wikipedia.org/wiki/Monoid_(category_theory)
do
# A list is a monoid
replicate.10 <- function(x, ret) {
ret(rep(x, 10))
}
# concatenation is the binary operator for the list monoid
# the empty list is the unit
`%et%` <- monoid(c)
replicate.20 <- do(replicate.10 %et% replicate.10)
# returns a list of 20 "a"s
replicate.20("a")