rewrites
to transform a function
after it is defined and before it is assigned to a name.R/transform-dsl.R
less-than-.foolbox_pipe.Rd
This operator is used together with rewrites
to transform a function
after it is defined and before it is assigned to a name.
# S3 method for foolbox_pipe <(pipe, fn)
pipe | A specificiation of a a pipeline of transformations provided
using the subscript operator to |
---|---|
fn | The function we wish to transform. |
[.foolbox_rewrite_spec
rewrites
# This is a very simple inline function that require we # provide the function body as it should be inserted. # For a more detailed version, see the Tutorial vignette. inline <- function(f, fn, body) { body <- substitute(body) rewrite(f) %>% rewrite_with( rewrite_callbacks() %>% add_call_callback(fn, function(expr, ...) body) ) } g <- function(x) x**2 h <- rewrites[inline(g,y**2)] < function(y) y + g(y) h#> function (y) #> y + y^2 #> <environment: 0x1140f8548>