From lawrence.michael at gene.com  Wed Oct 12 19:53:45 2016
From: lawrence.michael at gene.com (Michael Lawrence)
Date: Wed, 12 Oct 2016 10:53:45 -0700
Subject: [Rd] How to assign NULL value to pairlist element while keeping
 it a pairlist?
In-Reply-To: <CAOQ5NyeBDy-jAC2-u4TB_CbFtjS4z11dzVuV5_ZmhU11BCwETg@mail.gmail.com>
References: <CAFDcVCQEA8Q7Zec6m3mF4PY4mL=VJOihGtXRbKiPq98hKMfY2A@mail.gmail.com>
	<CAOQ5NyeBDy-jAC2-u4TB_CbFtjS4z11dzVuV5_ZmhU11BCwETg@mail.gmail.com>
Message-ID: <CAOQ5NyfOshFmNp1nQ9Kc7VME2WgqEmJa42Y7m6GRjwsE9=nhTg@mail.gmail.com>

Hi Henrik,

It would help to understand your use case for pairlists.

Thanks,
Michael

On Wed, Oct 12, 2016 at 9:40 AM, Michael Lawrence <michafla at gene.com> wrote:
> The coercion is probably the most viable workaround for now, as it's
> consistent with what happens internally for calls. All pairlists/calls
> are converted to list for subassignment, but only calls are converted
> back. My guess is that the intent was for users to move from using a
> pairlist to the "new" (almost 20 years ago) list. In my opinion,
> consistency trumps "convenience" in this case. If others agree, I'll
> change it to also coerce back to pairlist.
>
> Michael
>
> On Wed, Oct 12, 2016 at 9:20 AM, Henrik Bengtsson
> <henrik.bengtsson at gmail.com> wrote:
>> Hi, I seem to not be able to assign NULL to an element of a pairlist
>> without causing it to be coerced to a plain list.  For example:
>>
>>> x <- pairlist(1, 2)
>>> class(x)
>> [1] "pairlist"
>>
>>> x[1] <- list(NULL)
>>> class(x)
>> [1] "list"
>>
>> This actually true for all [()<- assignments regardless of list value, e.g.
>>
>>> x <- pairlist(1, 2)
>>> x[1] <- list(0)
>> [1] "list"
>>
>> I also tried assigning a pairlist(), but still the same problem:
>>
>>> x <- pairlist(1, 2)
>>> x[1] <- pairlist(0)
>> [1] "list"
>>
>> The only workaround I'm aware of is to:
>>
>> x <- as.pairlist(x)
>>
>> at the end.  Any other suggestions?
>>
>> Thanks,
>>
>> Henrik
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] How to assign NULL value to pairlist element while keeping it a pairlist?
Michael Lawrence