aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-05-19 00:01:44 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-05-20 12:00:34 +0200
commit6004bc1a8ff4a6c64315041b0e527ab691bf1f5f (patch)
tree643940a8b3c861f73a60ca7357a2cfbce019295a /gnu
parentc87a33586040f81554c30c973679f3b1f2a86659 (diff)
downloadpatches-6004bc1a8ff4a6c64315041b0e527ab691bf1f5f.tar
patches-6004bc1a8ff4a6c64315041b0e527ab691bf1f5f.tar.gz
gnu: Add r-vctrs.
* gnu/packages/cran.scm (r-vctrs): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cran.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index a876746ae6..cf154b91e3 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -3674,6 +3674,44 @@ right-hand side of an assignment into multiple values and assigns these values
to variables on the left-hand side of the assignment.")
(license license:expat)))
+(define-public r-vctrs
+ (package
+ (name "r-vctrs")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "vctrs" version))
+ (sha256
+ (base32
+ "13w1r8zpalirpfaz5sykpn0mj4jmhxi2qkdcfq081ixlfjyzwa6c"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-backports" ,r-backports)
+ ("r-digest" ,r-digest)
+ ("r-glue" ,r-glue)
+ ("r-rlang" ,r-rlang)
+ ("r-zeallot" ,r-zeallot)))
+ (home-page "https://github.com/r-lib/vctrs")
+ (synopsis "Vector helpers")
+ (description
+ "There are three main goals to the @code{vctrs} package:
+
+@enumerate
+@item To propose @code{vec_size()} and @code{vec_type()} as alternatives to
+ @code{length()} and @code{class()}. These definitions are paired with a
+ framework for type-coercion and size-recycling.
+@item To define type- and size-stability as desirable function properties, use
+ them to analyse existing base function, and to propose better alternatives.
+ This work has been particularly motivated by thinking about the ideal
+ properties of @code{c()}, @code{ifelse()}, and @code{rbind()}.
+@item To provide a new @code{vctr} base class that makes it easy to create new
+ S3 vectors. @code{vctrs} provides methods for many base generics in terms of
+ a few new @code{vctrs} generics, making implementation considerably simpler
+ and more robust.
+@end enumerate\n")
+ (license license:gpl3)))
+
(define-public r-pillar
(package
(name "r-pillar")