compositional.mle
An MLE package rebuilt around composable solvers, then renamed to match.
A side-by-side editorial comparison of cyclocomp and nabla — release velocity, themes, recent moves, and the top alternatives to consider.
A cyclomatic complexity checker that ships once every couple of years, and lands when it does.
cyclocomp measures cyclomatic complexity of R functions and packages, and is best known as the engine behind lintr's complexity rule. It has three releases in the visible window spread across nearly three years. The current one, 1.1.2, adds a quiet argument to cyclocomp_package_dir(); the two before it, shipped a day apart in 2023, added a large speedup and the package-directory entry point itself.
nabla dropped its C++ engine to chase exact derivatives at any order.
nabla does forward-mode automatic differentiation in R using dual numbers, returning derivatives exact to machine precision rather than approximated by finite differences. It shipped as dualr in January 2026, then a day later released 0.5.0 under a changed identity: derivatives generalise from a hardcoded second order to arbitrary order through recursive nesting, and the Rcpp and C++ fast paths are deleted so the package is pure R. The current release, 0.7.1, is CRAN resubmission cleanup.
cyclocomp measures cyclomatic complexity of R functions and packages, and is best known as the engine behind lintr's complexity rule. It has three releases in the visible window spread across nearly three years. The current one, 1.1.2, adds a quiet argument to cyclocomp_package_dir(); the two before it, shipped a day apart in 2023, added a large speedup and the package-directory entry point itself.
This is a small tool that reached feature-complete and now moves only when a downstream consumer needs something. Every change in the window is externally contributed, and each addresses a concrete integration need: a function that works on a local package tree rather than an installed one, complexity results sorted so the worst offenders come first, and output suppression for programmatic callers. The 2023 pair shipped a day apart because the new entry point immediately exposed a performance problem on long linear code.
Expect the next change to arrive the same way, as a contributed patch serving a linting or CI workflow rather than as planned development.
nabla does forward-mode automatic differentiation in R using dual numbers, returning derivatives exact to machine precision rather than approximated by finite differences. It shipped as dualr in January 2026, then a day later released 0.5.0 under a changed identity: derivatives generalise from a hardcoded second order to arbitrary order through recursive nesting, and the Rcpp and C++ fast paths are deleted so the package is pure R. The current release, 0.7.1, is CRAN resubmission cleanup.
The 0.5.0 release note states the positioning explicitly: exact machine-precision derivatives at any order, not speed. Removing compiled code to make that claim coherent is an unusual direction, most numerical R packages move the other way, and it commits the package to a niche where correctness beats throughput. The old second-order API survives as deprecated thin wrappers, so the pivot was made without stranding early users. The rapid rename and version jump suggest identity was settled late.
Expect CRAN acceptance to be followed by work on the optimiser and MLE integration paths, where arbitrary-order derivatives have the clearest use.
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 cyclocomp or nabla.
An MLE package rebuilt around composable solvers, then renamed to match.
Eight months from first release to keyring caching and workload identity.
A research-project workflow package where the interesting work is in the plumbing.
Extreme value sampling in pure upkeep mode, mostly answering to Rcpp and CRAN.
A package retired in 2017 just got rewritten against R's public C API.
patRoon 3.0.0 adds ion mobility, opening a dimension its workflows never had.
See all cyclocomp alternatives → · See all nabla alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. cyclocomp and nabla 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.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. cyclocomp and nabla 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.
Top cyclocomp alternatives in Analytics are ranked by recent ship velocity. Browse the "cyclocomp alternatives" section above for the current picks, or visit /alternatives/cyclocomp for the full list with editorial commentary on each.
Top nabla alternatives in Analytics are ranked by recent ship velocity. Browse the "nabla alternatives" section above for the current picks, or visit /alternatives/nabla for the full list with editorial commentary on each.