compositional.mle
An MLE package rebuilt around composable solvers, then renamed to match.
A side-by-side editorial comparison of nabla and tulpa — release velocity, themes, recent moves, and the top alternatives to consider.
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.
A Bayesian spatial engine reshaping itself so downstream packages own their own diagnostics.
tulpa is the C++/R inference engine sitting under a family of ecological occupancy packages, tagging releases several times a week in the 0.0.x range. The current window splits cleanly in two: an API move that turns its calibration and goodness-of-fit entry points into S3 generics, and a run of numerical-correctness work in the nested-Laplace grid. A notable share of releases exist to record a measurement that produced no code change at all.
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.
tulpa is the C++/R inference engine sitting under a family of ecological occupancy packages, tagging releases several times a week in the 0.0.x range. The current window splits cleanly in two: an API move that turns its calibration and goodness-of-fit entry points into S3 generics, and a run of numerical-correctness work in the nested-Laplace grid. A notable share of releases exist to record a measurement that produced no code change at all.
The generics conversion and the new cross-Hessian return value point the same way: the engine is being reshaped into something downstream packages extend rather than wrap, with the extension points made explicit. The correctness fixes cluster tightly on the joint nested-Laplace driver — indefinite Hessians hitting negative pivots, chunk counts read from live machine load, grid cells silently dropped from a fit — which is where the remaining risk visibly sits. Reported numbers have moved more than once in this window, so the project is still finding cases where earlier answers were wrong rather than merely imprecise.
Expect the rest of the diagnostics layer to finish migrating onto generics, and continued hardening of the batched joint driver's dense path, which is the one route that recently diverged from its own single-species equivalent.
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 nabla or tulpa.
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.
A cyclomatic complexity checker that ships once every couple of years, and lands when it does.
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.
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. tulpa is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. 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. tulpa is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
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.
Top tulpa alternatives in Analytics are ranked by recent ship velocity. Browse the "tulpa alternatives" section above for the current picks, or visit /alternatives/tulpa for the full list with editorial commentary on each.