egnha / valaddin

Functional input validation to make R functions more readable and robust
Other
33 stars 1 forks source link

Consolidate/cull import dependencies #29

Closed egnha closed 7 years ago

egnha commented 7 years ago

The functionality required of purrr and lazyeval is consolidated in rlang. Aside from the possible use of glue for string interpolation, rlang should be valaddin's sole dependency, so that the complete dependency graph is

base R <~ rlang <~ valaddin

This would make valaddin more suitable as a foundation for package writers.

egnha commented 7 years ago

dplyr dependency was removed in 38a185b887c6012f4b79db83453f281392ad8c53.

egnha commented 7 years ago

rlang 0.1.1 is now on CRAN.

egnha commented 7 years ago

In the current implementation, imported packages are used thusly:

The functionality provided by lazyeval can be substituted by (relatively simple) base R calls, ditto for the predicate functions provided by purrr. Moreover, rlang remains a rapidly moving target.

Therefore, the aim should be to remove all external dependencies. (Where performance is an issue, we can use R's C API.)

egnha commented 7 years ago

Since the input-validation spec is now based on quosures, and now that a flexible mechanism for string-interpolated error messages is enabled, the import dependencies are:

egnha commented 7 years ago

lazyeval has not been displaced by rlang (79a6ef344cade6b9450b94be558600d92fb8270d).