restrictR: Composable Runtime Contracts for R

Build reusable validators from small building blocks using the base pipe operator. Define runtime contracts once with 'restrict()' and enforce them anywhere in code. Validators compose naturally, support dependent rules via formulas, and produce clear, path-aware error messages. No DSL, no operator overloading, just idiomatic R.

Version: 0.1.0
Depends: R (≥ 4.1.0)
Suggests: knitr, rmarkdown, svglite, testthat (≥ 3.0.0)
Published: 2026-03-09
DOI: 10.32614/CRAN.package.restrictR
Author: Gilles Colling ORCID iD [aut, cre, cph]
Maintainer: Gilles Colling <gilles.colling051 at gmail.com>
BugReports: https://github.com/gcol33/restrictR/issues
License: MIT + file LICENSE
URL: https://gillescolling.com/restrictR/, https://github.com/gcol33/restrictR
NeedsCompilation: no
Language: en-US
Citation: restrictR citation info
Materials: README, NEWS
CRAN checks: restrictR results

Documentation:

Reference manual: restrictR.html , restrictR.pdf
Vignettes: Runtime Contracts for R Functions (source, R code)

Downloads:

Package source: restrictR_0.1.0.tar.gz
Windows binaries: r-devel: restrictR_0.1.0.zip, r-release: restrictR_0.1.0.zip, r-oldrel: restrictR_0.1.0.zip
macOS binaries: r-release (arm64): restrictR_0.1.0.tgz, r-oldrel (arm64): restrictR_0.1.0.tgz, r-release (x86_64): restrictR_0.1.0.tgz, r-oldrel (x86_64): restrictR_0.1.0.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=restrictR to link to this page.