I have taken up the issue now, and after thinking, studying the source, trying to define a 'method = <string>' argument, came to the conclusion that both the implementation and documentation (and source code "self-explanation") are easiest to program, maintain, and understand, if I introduce explicit binary switches, so I now propose the following R-level interface which keeps the current behavior the default:
>> Usage: >> >> identical(x, y, num.EQ = TRUE, one.NA = TRUE, attrib.asSet = TRUE) >> >> Arguments: >> >> x, y: any R objects. >> >> num.EQ: logical indicating if ('double' and 'complex' non-'NA') >> numbers should be compared using '==', or by bitwise >> comparison. The latter (non-default) differentiates between >> '-0' and '+0'. >> >> one.NA: logical indicating if there is conceptually just one numeric >> 'NA' and one 'NaN'; 'one.NA = FALSE' differentiates bit >> patterns. >> >> attrib.asSet: logical indicating if 'attributes' of 'x' and 'y' should >> be treated as _unordered_ tagged pairlists ("sets"); this >> currently also applies to 'slot's of S4 objects. It may well >> be too strict to set 'attrib.asSet = FALSE'. I'm open for better names of arguments, but will not accept "_" in the argument names {just my taste; no reason for argueing...}. I've practically finished both C- and R- and Rd-code, but can still adapt to proposals if there are good reasons for it. Martin Maechler, ETH Zurich ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel