futureverse / futureverse/future

CLEANUP: Export fewer functions

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

Description

Currently, **future** exports quite a few functions beyond the _Future API_ itself. Some of them are used by backends but not really needed by uses of **future** per se - can they be removed from the public API?

For example, **future.callr** use `MultiprocessFuture`, which belongs more to a "protected" backend API. Maybe there's a robust way to make those available without exporting them, e.g.
```r
MultiprocessFuture <- future::import_protected("MultiprocessFuture")
```
OTH, with such an approach we'll lose all the advantages that come with `R CMD check`, e.g. code inspection. Maybe that's ok.

Contributor guide

Open the contributing guide

Research direction

Begin by auditing the future package's public exports and the backend use of MultiprocessFuture, including future.callr. Done requires a decided scope for which exports belong to the Future API and a validated approach for backend access without losing R CMD check benefits.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
backend-api-design
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.