[Rd] new bquote feature splice does not address a common LISP @ use case?
Jan Gorecki
j@goreck| @end|ng |rom w|t@edu@p|
Tue Mar 17 05:08:32 CET 2020
Dear R-devel,
There is a new feature in R-devel, which explicitly refers to LISP @
operator for splicing.
> The backquote function bquote() has a new argument splice to enable splicing a computed list of values into an expression, like ,@ in LISP's backquote.
Although the most upvoted SO question asking for exactly LISP's @
functionality in R doesn't seems to be addressed by this new feature.
Is it possible to use new splice feature to create `6 - 5 + 4`
expression rather than `6 - (5 + 4)`?
b = quote(5+4)
b
#5 + 4
c = bquote(6-.(b))
c
#6 - (5 + 4)
d = bquote(6-..(b), splice=TRUE)
d
#6 - (5 + 4)
There is corresponding LISP code provided
CL-USER>
(setf b `(5 + 4))
(5 + 4)
CL-USER>
(setf c `(6 - , using b))
(6 - 5 + 4)
CL-USER>
(setf c-non-spliced `(6 - ,b))
(6 - (5 + 4))
CL-USER>
Thanks,
Jan Gorecki
More information about the R-devel
mailing list