← Back to all sparks
F

fracture

ANALYTICS
Velocity0.0

R package fracture by rossellhayes — release notes from GitHub.

fracture solved decimal-to-fraction conversion years ago and now only answers to CRAN.

numeric formattingfractionsutility packagemaintenancecran
Current state
A single-purpose package converting decimals to fractions, with a matrix form and a Unicode pretty-printer. The functional work finished in 2021-2022: an explicit denom argument, named-argument-only calling, sensible denominators at 0 and 1, and NA and Inf handled rather than erroring. The only release since is a four-year-later removal of a C++11 system requirement that R's C++17 default made redundant.
Where it's heading
This is a completed utility. Its arc ran from correctness — floating-point rounding, exhaustive tests across millions of fractions — through API tightening, to edge-case tolerance, and then stopped. The 2026 release contains no user-visible change at all; it exists because CRAN's toolchain moved, which is the characteristic maintenance mode of a small package that does one thing correctly.
Prediction
Nothing in these entries suggests new functionality; expect further releases only when R or CRAN policy forces one, as this one did.

Recent moves

  1. 6mo ago

    Obsolete C++11 requirement removed

    Removes an obsolete C++11 system requirement now that R defaults to C++17. Toolchain housekeeping with no change in behaviour — and the only release in nearly four years.

    View source ↗
  2. 4y ago

    NA and Inf inputs handled instead of erroring

    fracture() and frac_mat() stop erroring on vectors containing NA or Inf, returning NA and "Inf/1" respectively, and frac_style() no longer renders whole numbers in mixed fractions as a zero-over-zero glyph. Edge-case tolerance for a function used inside pipelines.

    View source ↗
  3. 4y ago

    Explicit denominator argument; arguments now named-only

    Adds a denom argument to fix the denominator across all fractions, forces named arguments after x, and changes the default denominator at 0 and 1. The API-tightening release, breaking positional calls in exchange for a clearer contract.

    View source ↗
  4. 5y ago

    Unicode fraction formatting and rounding fixes

    Adds frac_style() for Unicode superscript and subscript formatting and is.frac_mat(), and reimplements both conversion routines with doubles to fix rounding errors. Backed by exhaustive tests across millions of fractions.

    View source ↗