Description
Minimal Implementation of Functional Lenses.
Description
Provides utilities to create and use lenses to simplify data manipulation. Lenses are composable getter/setter pairs that provide a functional approach to manipulating deeply nested data structures, e.g., elements within list columns in data frames. The implementation is based on the earlier 'lenses' R package <https://github.com/cfhammill/lenses>, which was inspired by the Haskell 'lens' package by Kmett (2012) <https://github.com/ekmett/lens>, one of the most widely referenced implementations of lenses. For additional background and history on the theory of lenses, see the 'lens' package wiki: <https://github.com/ekmett/lens/wiki/History-of-Lenses>.
README.md
tinylens
The goal of tinylens is to provide a minimal set of tools for working with lenses in R.
As of the initial release, this is basically a re-implementation of the lenses
package (https://github.com/cfhammill/lenses).
Installation
You can install the development version of tinylens from GitHub with:
# install.packages("pak")
pak::pak("arbelt/tinylens")
Example
The main benefit of lenses is that they are composable, and so allow for more streamlined transformations of nested data structures.
library(tinylens)
## basic example code