[Rd] Feature request: Allow comma after last element in a list
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Fri Apr 24 22:25:24 CEST 2026
I believe the changes were these:
From R 2.4.0 (released Oct, 2006):
o Calling a builtin with empty arguments used to silently remove
them (and this was undocumented). Now this is an error unless
builtin is c() or list() or there are only trailing empty
arguments, when it is a warning (for the time being: this will
be made an error in R 2.5.0).
From R 2.5.0 (released Apr, 2007):
o Calling a builtin function with an empty argument is now always
an error.
Duncan Murdoch
On 2026-04-24 4:11 p.m., Henrik Bengtsson wrote:
> R used to support it many years ago, but it was removed on purpose.
> I'm pretty sure it was documented in one the NEWS files for the older
> versions + it was discussed here on R-devel at the time. I don't know
> if it was 10 or 20 years ago.
>
> /Henrik
>
> On Fri, Apr 24, 2026 at 12:56 PM <avi.e.gross using gmail.com> wrote:
>>
>> Manfred,
>>
>> I don't know how much work it would be to add in a feature that was not in
>> the original design of S at a time when perhaps a dangling comma was not
>> supported widely or seen as necessary.
>>
>> I note that R (as a successor to S) kept the same convention here and a
>> comma at the end of a line signals there is more to come and the parser
>> should keep looking on additional lines for more to include within the same
>> statement. This is different than a language like Python where indentation
>> is used for a level of grouping and other methods are often used to indicate
>> the current line should be extended.
>>
>> I wonder if a work-around might make sense. What if we allowed use of a
>> symbol like "..." to mean not that there is more, but that it can be ignored
>> if at the end of a series of commas.
>>
>> Something like:
>>
>> Hello <- c(
>> "hi",
>> "shalom".
>> ... )
>>
>> Might then allow extension by adding a line before the ..., or perhaps even
>> be set so any line with a ... is ignored. But this might take careful
>> consideration. For example, when the interpreter reads in lines, it should
>> not keep extra entries containing the "..." and you may need to check this
>> does not break other things as my choice of ... is a valid symbol used
>> elsewhere. Perhaps `%...%` or some unique symbol might serve the purpose, as
>> it is just syntactic sugar.
>>
>> But, on the scale of things, this is not a must.
>>
>> -----Original Message-----
>> From: R-devel <r-devel-bounces using r-project.org> On Behalf Of Manfred Kooistra
>> Sent: Friday, April 24, 2026 5:09 AM
>> To: r-devel using r-project.org
>> Subject: [Rd] Feature request: Allow comma after last element in a list
>>
>> I've always been irritated that R doesn't allow a comma after the last
>> element in a "list":
>>
>>> a <- c(
>> + 1,
>> + 2,
>> + 3
>> + )
>>> a
>> [1] 1 2 3
>>> b <- c(
>> + 1,
>> + 2,
>> + 3,
>> + )
>> Error in c(1, 2, 3, ) : argument 4 is empty
>>
>> This makes updating lists unnecessarily cumbersome, which I find I
>> frequently do, either when I test code and want to run it with lists of
>> varying elements or varying orders of elements or when I maintain lists
>> manually over time and have to add or delete elements from them.
>>
>> Is there a reason for this behavior in R and might it not be a good idea to
>> change it?
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list