summary refs log tree commit diff
path: root/gnu/packages/cran.scm
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/packages/cran.scm
parentc87a33586040f81554c30c973679f3b1f2a86659 (diff)
downloadguix-6004bc1a8ff4a6c64315041b0e527ab691bf1f5f.tar.gz
gnu: Add r-vctrs.
* gnu/packages/cran.scm (r-vctrs): New variable.
Diffstat (limited to 'gnu/packages/cran.scm')
-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")