Skip to contents

drmTMB currently supports analysis and reporting through its native Template Model Builder (TMB) engine. The Julia bridge is halted and deferred for this release. It is not part of the current supported model surface, and users should not rely on engine = "julia" for an analysis, confidence interval, benchmark, or reproducible report.

The deferred work is tracked under issue #499. This page remains in the site so that readers understand the intended direction: a future Julia backend may eventually provide an additional execution engine, while preserving the same R-facing formula and result contract. It is not a request to install Julia, JuliaCall, or DRM.jl today.

What to use now

Use the native engine, which is the default. There is no engine argument to set for ordinary work:

fit <- drmTMB(
  bf(y ~ x, sigma ~ x),
  family = gaussian(),
  data = dat
)

Continue with the ordinary post-fit workflow:

check_drm(fit)
summary(fit)

For model-specific guidance, start with Model workflow, Capability and limits, and the relevant family or structured-effect tutorial. Those pages state the current TMB-supported boundaries and inference evidence.

What future Julia support would need to establish

Before engine = "julia" can become a reader-facing option, a future release needs an explicit admission and validation programme. At minimum, each proposed model cell would need:

Requirement Why it matters
Formula and data marshalling checks The R formula, factor levels, missing-data handling, and parameter scales must arrive at the same model.
Native-TMB comparison on the same admitted cell Matching fitted quantities and likelihood conventions must be demonstrated where a native comparator exists.
Independent recovery and interval evidence A finite fit or an internal benchmark does not establish point-estimate or interval reliability.
Guardrails for unsupported neighbouring syntax Users should get a clear error rather than silent feature or scale drift.
Reproducible installation and version contract Optional Julia dependencies must be pinned and documented without becoming required for normal drmTMB use.

Performance results, algorithm comparisons, and development-checkout output are not release claims. They will be documented only when a specific future bridge cell has passed this admission process.

Scope boundary

The deferred Julia work does not change the current package boundary:

  • TMB remains the default and supported engine.
  • drmTMB does not install or require Julia, JuliaCall, or DRM.jl.
  • The deferred bridge does not expand current family, structured-effect, missing-data, interval, coverage, or simulation claims.
  • Cross-family and mixed-family model development remains separate from the native bivariate Gaussian scope.

Contributors considering future work should begin with the release manifest, issue #499, and the native package’s current tests and capability ledger rather than treating an old Julia bridge prototype as a supported API.