pryr v0.1.4
0
Monthly downloads
Tools for Computing on the Language
Useful tools to pry back the covers of R and understand the
language at a deeper level.
Readme
pryr (rhymes with pry bar)
pryr
provides tools to pry back the surface of R and dig into the details. It
has been developed in conjunction with
"Advanced R programming" to make
it easier to understand what's going on in R.
Install it from CRAN with install.packages("pryr")
.
Tools
pryr
includes tools to:
Make it easier to understand the internal implementation of:
- promises:
uneval()
,is_promise()
,promise_info()
- scoping and environments:
where()
,rls()
,parenv()
- closures:
unenclose()
- calls and expressions:
call_tree()
- primitive types:
typenames()
- copy-on-modify:
address()
,track_copy()
- promises:
Inspect and understand R's OO systems:
- Determine which OO system an object belongs to:
otype()
- Determine which OO system a function belongs to:
ftype()
- Determine which OO system an object belongs to:
Make it easier to compute on the language:
- Alternative ways to create functions:
make_function()
,f()
- A version of substitute that uses regular evaluation,
substitute_q()
, and one that will substitute objects in the global environment,subs()
- Tools to modify language objects:
modify_lang()
dots()
andnamed_dots()
to get unevaluated...
- Partial function evaluation:
partial()
- Find all functions matching some criteria:
find_funs()
- Alternative ways to create functions:
To use existing R tools more easily:
%<d-%
and%<a-%
for creating delayed or active bindings%<c-%
for creating constants (locked bindings)rebind
as a more user friendly version of<<-
Functions in pryr
Name | Description | |
mem_used | How much memory is currently used by R? | |
parent_promise | Find the parent (first) promise. | |
rls | Recursive ls. | |
rebind | Rebind an existing name. | |
sexp_type | Inspect internal attributes of R objects. | |
track_copy | Track if an object is copied | |
otype | Determine object type. | |
method_from_call | Given a function class, find correspoding S4 method | |
partial | Partial apply a function, filling in some arguments. | |
unenclose | Unenclose a closure. | |
print.envlist | Print an envlist | |
modify_call | Modify the arguments of a call. | |
make_function | Make a function from its components. | |
mem_change | Determine change in memory from running code | |
modify_lang | Recursively modify a language object | |
substitute_q | A version of substitute that evaluates its first argument. | |
subs | A version of substitute that works in the global environment. | |
object_size | Compute the size of an object. | |
names_c | Extract function table from names.c from R subversion repository. | |
uneval | Capture the call associated with a promise. | |
parenv | Get parent/ancestor environment | |
parenvs | Given an environment or object, return an envlist of its parent environments. | |
where | Find where a name is defined. | |
show_c_source | Find C source code for internal R functions | |
standardise_call | Standardise a function call | |
%<c-% | Create a constant (locked) binding. | |
call_tree | Display a call (or expression) as a tree. | |
%<d-% | Create an delayed binding. | |
compose | Compose multiple functions | |
bytes | Print the byte-wise representation of a value | |
dots | Capture unevaluated dots. | |
enclosing_env | Find the environment that encloses of a function. | |
explicit | Tools for making promises explicit | |
is_active_binding | Active binding info | |
fget | Find a function with specified name. | |
is_promise | Promise info | |
f | A compact syntax for anonymous functions. | |
%<a-% | Create an active binding. | |
make_call | Make and evaluate calls. | |
is_s3_generic | Determine if a function is an S3 generic or S3 method. | |
as.envlist | Convert a list of environments to an envlist object. | |
ftype | Determine function type. | |
find_uses | Find all functions in that call supplied functions. | |
find_funs | Find functions matching criteria. | |
No Results! |
Last month downloads
Details
License | GPL-2 |
URL | https://github.com/hadley/pryr |
BugReports | https://github.com/hadley/pryr/issues |
LinkingTo | Rcpp |
RoxygenNote | 6.0.1 |
NeedsCompilation | yes |
Packaged | 2018-02-17 16:16:12 UTC; hadley |
Repository | CRAN |
Date/Publication | 2018-02-18 04:42:23 UTC |
imports | codetools , methods , Rcpp (>= 0.11.0) , stringr |
depends | R (>= 3.1.0) |
suggests | testthat (>= 0.8.0) |
Contributors | R Core team |
Include our badge in your README
[](http://www.rdocumentation.org/packages/pryr)