The monad package provides generics and generic operators for monadic classes. These are:
fmap()
, bind()
and join()
S7 generic functions.%>>%
and %>-%
pipe operators for
fmap()
and bind()
respectively.Implementations of the generics are provided for:
Implementing classes must provide fmap()
and either
bind()
or join()
. Method implementations must
satisfy the ?"functor-laws"
and
?"monad-laws"
.
The concepts are modelled directly after the Monad typeclass in the functional programming language Haskell. Operator names and calling conventions have been adapted to fit R.
Install the current release from CRAN:
install.packages("monad")
Or the development version from GitHub:
# install.packages("pak")
::pak("mikmart/monad") pak