Richard Cotton
2016-Dec-23 23:24 UTC
[Rd] R-ints Argument Evaluation has out of date examples
In R-ints section 1.5 https://cran.r-project.org/doc/manuals/r-devel/R-ints.html#Argument-evaluation it states> Note that being a special/builtin is separate from being primitive > or .Internal: quote is a special primitive, + is a builtin primitive, > cbind is a special .Internal and grep is a builtin .Internal.I think that the examples of cbind and grep might be out of date since these both appear to be closures now. typeof(cbind) ## "closure" typeof(grep) ## "closure" In fact, as far as I can tell, all the special and builtin functions now use the primitive interface. The following code returns an empty list in R 3.3.2: e <- as.environment("package:base") vars <- mget(ls(e), e) Filter( function(x) { typeof(x) %in% c("special", "builtin") && Negate(is.primitive)(x) }, vars ) Is it true to say that "being a special/builtin is separate from being primitive on .Internal, however in practice all special and builtin functions are primitive"? -- Regards, Richie Learning R 4dpiecharts.com