futureverse / futureverse/future

Even less dependencies?

Open
#374 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
R
Stars
1k
Forks
92
PR merge metrics
No merged PRs in 30d

Description

One of the many great ideas of the future package is that it tries to be as lightweight as possible, and provide only the minimal toolset which implements the Future API.

Currently, the package imports the following packages:

- globals (imports 'codetools'): to identify global variables
- listenv (no deps): to have environments with numeric indexing (plus internal utilities)
- digest (no non-base deps): to create UUID-s of objects

The 'globals' package is not absolutely necessary, because the user can define the global variables herself (which is even more robust than using the heuristics of 'globals').
The listenv package does not seem to be absolutely necessary, either.
Hashing the objects seems unavoidable, but 'digest' is probably a bit of on overkill for that purpose. (For example 'fastdigest' is faster and much thinner, but also less actively maintained and tested by thousands of users.)

So taken together, it is probably too late to get rid of those dependencies, but a 'future.api' package could be created which has literally no dependencies outside of base R packages, and provides all crucial building blocks of the Future API.

@HenrikBengtsson, what do you think?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.