← Back to home
Comparison · Analytics

BORG vs lazyeval

A side-by-side editorial comparison of BORG and lazyeval — release velocity, themes, recent moves, and the top alternatives to consider.

BORG vs lazyeval: at a glance

FeatureBORGlazyeval
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themescross-validation, spatial-statistics, model-validation, reproducibilitynon-standard-evaluation, r-c-api, dormancy-revival, tidyverse
Last editorial update13m ago1h ago
WebsiteVisit →Visit →

What is BORG?

A cross-validation guard that refuses to run random CV on dependent data unless you insist

BORG detects spatial, temporal and clustered dependence in a modelling dataset and generates a cross-validation scheme that respects it — spatial blocks, temporal blocks, group folds — rather than letting random splits leak information between train and test. Its distinguishing choice is enforcement: when it finds dependence, random CV is blocked outright and needs an explicit allow_random=TRUE to proceed. The package also wraps the standard rsample and caret entry points so the guard applies inside existing workflows.

Read the full BORG trajectory →

What is lazyeval?

A package retired in 2017 just got rewritten against R's public C API.

lazyeval was the tidyverse's pre-rlang non-standard evaluation layer, formally set aside in 2017 when tidy evaluation replaced it. After eight and a half years without a release, 0.2.3 arrives as a compliance rewrite: the implementation now uses R's public C API, and the release note states it may differ from the historical one in subtle ways. Nothing about the package's role has changed.

Read the full lazyeval trajectory →

BORG vs lazyeval: editorial side-by-side

B
BORG
ANALYTICS
0.0

A cross-validation guard that refuses to run random CV on dependent data unless you insist

◆ Current state

BORG detects spatial, temporal and clustered dependence in a modelling dataset and generates a cross-validation scheme that respects it — spatial blocks, temporal blocks, group folds — rather than letting random splits leak information between train and test. Its distinguishing choice is enforcement: when it finds dependence, random CV is blocked outright and needs an explicit allow_random=TRUE to proceed. The package also wraps the standard rsample and caret entry points so the guard applies inside existing workflows.

◆ Where it's heading

The entire visible history is a single day, and the sequence within it is coherent rather than churn: enforcement first, then the evidence layer, then framework integration, then idiomatic R polish. The evidence work matters to the pitch — borg_compare_cv() runs random against blocked CV so users see the inflation on their own data instead of taking the warning on faith, and the methods-text and certificate exports are aimed squarely at getting this into published papers. By the final release the interface has been rebuilt on standard S3 plot and summary methods.

◆ Prediction

The wrappers so far cover rsample and caret; tidymodels and mlr3 are the obvious remaining entry points if the guard is to reach the workflows it hasn't yet intercepted.

L
lazyeval
ANALYTICS
0.0

A package retired in 2017 just got rewritten against R's public C API.

◆ Current state

lazyeval was the tidyverse's pre-rlang non-standard evaluation layer, formally set aside in 2017 when tidy evaluation replaced it. After eight and a half years without a release, 0.2.3 arrives as a compliance rewrite: the implementation now uses R's public C API, and the release note states it may differ from the historical one in subtle ways. Nothing about the package's role has changed.

◆ Where it's heading

This is a dormancy revival driven entirely from outside, R core tightening what counts as the public C API forces packages using older internals to be rewritten or be archived. lazyeval is still a dependency deep in older package trees, so keeping it installable matters more than developing it. The caveat about subtle behavioural differences is the notable part: a package nobody is developing has changed behaviour in ways its release note declines to enumerate.

◆ Prediction

Expect no further development, only additional compliance releases if R core tightens the C API again.

Alternatives to BORG and lazyeval

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either BORG or lazyeval.

See all BORG alternatives → · See all lazyeval alternatives →

Recent activity from BORG and lazyeval

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 4mo agolazyevalReimplemented against R's public C API after eight years dormant
  2. 7mo agoBORGInterface rebuilt on standard S3 plot and summary methods
  3. 7mo agoBORGGuarded wrappers for rsample and caret splitting functions
  4. 7mo agoBORGEmpirical inflation comparison and publication-ready reporting
  5. 7mo agoBORGRandom CV blocked by default when dependence is detected
  6. 7mo agoBORGVersion bump to 0.1.1
  7. 8y agolazyevalDevelopment ends as the tidyverse moves to tidy evaluation
  8. 10y agolazyevalFormula-based lazy evaluation system introduced
  9. 11y agolazyevallazyeval 0.1.10
  10. 11y agolazyevallazyeval 0.1.9

Frequently asked questions

What is the difference between BORG and lazyeval?

They serve adjacent needs but don't currently overlap on shipped themes. BORG and lazyeval are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is BORG better than lazyeval?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. BORG and lazyeval are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to BORG?

Top BORG alternatives in Analytics are ranked by recent ship velocity. Browse the "BORG alternatives" section above for the current picks, or visit /alternatives/borg for the full list with editorial commentary on each.

What are the best alternatives to lazyeval?

Top lazyeval alternatives in Analytics are ranked by recent ship velocity. Browse the "lazyeval alternatives" section above for the current picks, or visit /alternatives/lazyeval for the full list with editorial commentary on each.