Learn R Programming

kriens (version 0.1)

monoid: Creates the monoid binary operator

Description

Creates the monoid binary operator for a monoid in the Continuation category.

Usage

monoid(op)

Arguments

op
The binary operator to be be insert in the monoid (multiplication).

Value

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.

References

https://en.wikipedia.org/wiki/Monoid_(category_theory)

See Also

do

Examples

Run this code
# 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")

Run the code above in your browser using DataLab