[Rd] (NA || x) and (NA && y) {another "bug" } (PR#749)

maechler@stat.math.ethz.ch maechler@stat.math.ethz.ch
Wed, 29 Nov 2000 16:17:16 +0100 (MET)

>>>>> "MM" == Martin Maechler <maechler@stat.math.ethz.ch> writes:

>>>>> "TL" == Thomas Lumley <thomas@biostat.washington.edu> writes:

    TL> However, it would also be reasonable for NA || B to evaluate B and
    TL> return TRUE or NA depending on the value.  This is what S-PLUS 5
    TL> does, so at least it's an incompatibility.

    TL> The R documentation says 

    TL> The longer form [ie ||] evaluates left to right examining only the
    TL> first element of each vector.  Evaluation 
    TL> proceeds only until the result is determined. 

    TL> which at least seems incomplete as NA | TRUE gives TRUE, but
    TL> NA || TRUE gives an error.

    MM> Looks over-cautious to me as well.


    MM> 2) really do the same as S, not only Splus 5.x, but also 3.4 which
    MM> used to be our prototype, namely

    >> NA || TRUE
    MM> [1] TRUE
    >> NA && FALSE
    MM> [1] FALSE
    >> NA && TRUE
    MM> [1] NA
    >> NA || FALSE
    MM> [1] NA

    MM> The advantage of "1)" is to catch programming errors early in some
    MM> cases, however for consistency (with "|" and "&") and
    MM> compatibility, I'm voting for a change to "2)" behaviour.

This is now in "R-devel" aka  ``R 1.2 to be''  (slightly less than 20 days)

Martin Maechler <maechler@stat.math.ethz.ch>	http://stat.ethz.ch/~maechler/
Seminar fuer Statistik, ETH-Zentrum  LEO D10	Leonhardstr. 27
ETH (Federal Inst. Technology)	8092 Zurich	SWITZERLAND

r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch