[Rd] precedence (was 'historical NA question')

Hervé Pagès hpages at fhcrc.org
Thu May 8 01:54:55 CEST 2014



On 05/07/2014 02:45 PM, Simon Urbanek wrote:
>
> On May 7, 2014, at 5:17 PM, Hervé Pagès <hpages at fhcrc.org> wrote:
>
>> On 05/07/2014 12:52 PM, Simon Urbanek wrote:
>>> On May 7, 2014, at 3:37 PM, Hervé Pagès <hpages at fhcrc.org> wrote:
>>>
>>>> No big deal. These things can be tricky:
>>>>
>>>> https://stat.ethz.ch/pipermail/r-devel/2006-January/036022.html
>>>>
>>>> Sorry I couldn't resist ;-)
>>>>
>>>
>>> Yeah, but that's just yet another trip down the rabbit hole - why is -2 parsed as `-`(2) and not a single constant?
>>
>> You wouldn't want -2 to be parsed as a single constant exactly for
>> the reason that you wouldn't want -2^2 to return 4. Having -2^2 treated
>> the same way as -x^2 is a sane feature.
>>
>
> On what grounds? -2 is one value - negative two - and if you square it, you get four - so that's not even a question of precedence. It's just a matter of interpretation: do you see the constant -2 or do you see the constant 2 with unary minus? When you print -2 you get -2 - and that's not a positive constant with an unary minus - or is it? ;) - aaah, will we ever know … R is good at hiding that subtlety from us:
>
>> a = quote(-2^2)
>> b = bquote(.(-2)^2)
>> a
> -2^2
>> b
> -2^2
>> eval(a)
> [1] -4
>> eval(b)
> [1] 4
>
>
>>> Is there a way to express a negative constant in R? Hmm…
>>
>> Maybe some people have some use cases for this (speed ?).
>
> Wrong tree ;). You kick-started the trip but failed to follow the path it takes into the depths of the human mind … :P (or was that computer mind? ;))

BTW I don't see anything deep here, except maybe for the rabbit hole
you've put yourself in. Just sayin'...

H.

>
> Cheers,
> Simon
>
>
>
>> Personally I don't. Of course it would require a special syntax,
>> something that would probably be as ugly and confusing as the
>> L suffix used for integer constants (L means long int in C).
>>
>> H.
>>
>>>
>>>
>>>> On 05/07/2014 09:16 AM, John Chambers wrote:
>>>>> On 5/7/14, 5:21 AM, Therneau, Terry M., Ph.D. wrote:
>>>>>> Hadley asked about the Blue book; my shelf still has the earlier brown
>>>>>> book
>>>>>>     Becker and Chambers, 1984, S: An interactive environment for data
>>>>>> analysis and graphics.
>>>>>
>>>>> Historically interesting, but there was never a guarantee that Version 3
>>>>> of S (the "blue book") was back-compatible with earlier versions.  We
>>>>> gave users some help in "getting on the road" to converting, that was
>>>>> all (see Appendix 4 to the blue book).
>>>>>
>>>>> For that one brief moment, we felt free to innovate.
>>>>>
>>>>> John
>>>>>
>>>>>>
>>>>>> The manual page for precedence is
>>>>>>
>>>>>> $               component select
>>>>>> %x              special operator
>>>>>> -               unary minus
>>>>>> :               sequence operator
>>>>>> ^ **            exponentiation
>>>>>> * /             mult/div
>>>>>> + -             add/sub
>>>>>> < > <= >= == != logical
>>>>>> !               not
>>>>>> & |             and/or
>>>>>> <- ->           assignment
>>>>>>
>>>>>> Terry Therneau
>>>>>>
>>>>>> ______________________________________________
>>>>>> R-devel at r-project.org mailing list
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>>
>>>>> ______________________________________________
>>>>> R-devel at r-project.org mailing list
>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>>> --
>>>> Hervé Pagès
>>>>
>>>> Program in Computational Biology
>>>> Division of Public Health Sciences
>>>> Fred Hutchinson Cancer Research Center
>>>> 1100 Fairview Ave. N, M1-B514
>>>> P.O. Box 19024
>>>> Seattle, WA 98109-1024
>>>>
>>>> E-mail: hpages at fhcrc.org
>>>> Phone:  (206) 667-5791
>>>> Fax:    (206) 667-1319
>>>>
>>>> ______________________________________________
>>>> R-devel at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>>
>>
>> --
>> Hervé Pagès
>>
>> Program in Computational Biology
>> Division of Public Health Sciences
>> Fred Hutchinson Cancer Research Center
>> 1100 Fairview Ave. N, M1-B514
>> P.O. Box 19024
>> Seattle, WA 98109-1024
>>
>> E-mail: hpages at fhcrc.org
>> Phone:  (206) 667-5791
>> Fax:    (206) 667-1319
>>
>

-- 
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages at fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the R-devel mailing list