From macrakis at alum.mit.edu  Mon Feb 23 06:21:57 2009
From: macrakis at alum.mit.edu (Stavros Macrakis)
Date: Mon, 23 Feb 2009 00:21:57 -0500
Subject: [Rd] [R] Semantics of sequences in R
In-Reply-To: <20090223113422.76cc1494@absentia>
References: <8b356f880902221242r47cdb138w9b1ac05cc5e5e317@mail.gmail.com>
	<49A1BFC7.9060503@stats.uwo.ca>
	<8b356f880902221350q4a976bfr19b0d5b01a989250@mail.gmail.com>
	<20090223113422.76cc1494@absentia>
Message-ID: <8b356f880902222121taee8506sf21a0a532345dfb0@mail.gmail.com>

On Sun, Feb 22, 2009 at 10:34 PM, Berwin A Turlach
<berwin at maths.uwa.edu.au> wrote:
> G'day Stavros,

Hello, Berwin,

> On Sun, 22 Feb 2009 16:50:13 -0500
> Stavros Macrakis <macrakis at alum.mit.edu> wrote:

>> ...sort(list(...))), I'd hope that wouldn't break existing code. [...]

> ...sort is a generic function, and for sort(list(...)) to work, it would
> have to dispatch to a function called sort.list;... such a function exists
> already and it is not for sorting list.

Omigod.  There is a function called 'sort' which doesn't sort, and
which follows the S3 conventions for sorting lists, but doesn't allow
lists as an argument type.  That *is* a mess!

Well, if it's OK for sort.list to violate S3 naming conventions
(presumably because it was defined before S3 was), then I suppose it
would be OK for sort to violate S3 coding conventions in return, and
dispatch in a non-standard way, e.g.

      if (is.list(x)) sort.S3.list(...) else UseMethod("sort")

Ugly, but then so is sort.list....

           -s



[Rd] [R] Semantics of sequences in R
Stavros Macrakis