functools provides tools for Functional Programming in R. It accomplishes several goals:

functools achieves these goals through three main types of function design patterns:

  • Closures (functions that take data and return functions)

  • Functionals (functions that take functions and return data)

  • Function Operators (functions that take functions and return functions)

Installation

You can install the latest development version from CRAN:

install.packages("functools")

Or from GitHub with:

if (packageVersion("devtools") < 1.6) {
  install.packages("devtools")
}
devtools::install_github("paulhendricks/functools")

If you encounter a clear bug, please file a minimal reproducible example on GitHub.

Citation

To cite package ‘functools’ in publications use:

Paul Hendricks (2015). functools: Functional Programming in R. R package version 0.2.0. https://CRAN.R-project.org/package=functools

A BibTeX entry for LaTeX users is

@Manual{,
  title = {functools: Functional Programming in R},
  author = {Paul Hendricks},
  year = {2015},
  note = {R package version 0.2.0},
  url = {https://CRAN.R-project.org/package=functools},
}