Skip to contents

distionary 0.2.0

This cycle adds support objects: a distribution now says where it places its probability, and the routines computing from it — quantiles and moments — use that to handle atoms exactly rather than approximately. Code that uses the built-in dst_*() distributions is unaffected. Most of the breaking changes are in distribution(), so they reach only distributions built by hand; the exception is length() and is.na(), which now answer about the distribution itself.

Breaking changes

  • distribution() now requires a .support, saying where the distribution places probability. See ?distribution, and the “The Support of a Distribution” vignette for why it is asked for.

  • .vtype is defunct, and errors with a message pointing at .support. The variable type is derived from the support.

  • range and vtype are derived from the support rather than stated, and distribution() refuses them as entries. Both remain properties, reachable through eval_property() like any other.

  • length(), is.na() and as.list() answer about the distribution rather than about the list of properties it is built from: length() gives 1, not 11, and is.na() gives a single logical, TRUE for the Null distribution. The properties are unchanged; see ?length.dst.

Supports

Evaluation

  • Moments (mean(), variance(), stdev(), skewness(), kurtosis()) are computed numerically for discrete and mixed distributions, not only continuous ones: a sum over the atoms plus integration over the regions. Infinite atomic supports are walked outward, and a moment that never settles returns NaN.

  • Quantiles derived through the property network are considerably faster, solving every requested probability in one vectorised bisection rather than a separate search for each. A probability landing inside an atom’s jump returns that atom exactly, and the 0- and 1-quantiles come from the support, so an unbounded distribution gives -Inf and Inf. Discrete and mixed distributions raised an error on this path before.

Distributions

Documentation

  • New vignette, “The Support of a Distribution”.

distionary 0.1.1

CRAN release: 2026-04-27

  • Replaced usage of the deprecated ellipsis package with rlang for checking expected use of ellipsis (thanks to @olivroy, PR #44).

  • dst_lp3() now prints the created distribution object upon creation, matching the behaviour of other dst_*() functions.

distionary 0.1.0

CRAN release: 2025-12-01

  • Initial CRAN release.