25 messages in org.ibiblio.lists.xom-interest[XOM-interest] Recursion
FromSent OnAttachments
Wolfgang HoschekFeb 9, 2004 6:42 pm 
Elliotte Rusty HaroldFeb 10, 2004 9:25 am 
Wolfgang HoschekFeb 10, 2004 3:23 pm 
jco...@reutershealth.comFeb 10, 2004 3:48 pm 
Elliotte Rusty HaroldFeb 11, 2004 1:21 pm 
Wolfgang HoschekFeb 11, 2004 1:24 pm 
jco...@reutershealth.comFeb 11, 2004 2:15 pm 
Elliotte Rusty HaroldFeb 11, 2004 3:18 pm 
jco...@reutershealth.comFeb 11, 2004 4:20 pm 
Francois BeausoleilFeb 11, 2004 8:08 pm 
Trimmer, ToddFeb 12, 2004 11:57 am 
Elliotte Rusty HaroldFeb 12, 2004 2:53 pm 
Trimmer, ToddFeb 13, 2004 1:26 pm 
Elliotte Rusty HaroldMar 8, 2004 3:17 pm 
jco...@reutershealth.comMar 8, 2004 4:06 pm 
Elliotte Rusty HaroldMar 8, 2004 4:34 pm 
Elliotte Rusty HaroldMar 9, 2004 11:55 am 
Bradley S. HuffmanMar 9, 2004 12:09 pm 
Elliotte Rusty HaroldMar 9, 2004 1:05 pm 
jco...@reutershealth.comMar 9, 2004 2:04 pm 
jco...@reutershealth.comMar 9, 2004 4:32 pm 
Elliotte Rusty HaroldMar 9, 2004 10:43 pm 
John CowanMar 9, 2004 10:58 pm 
Elliotte Rusty HaroldMar 10, 2004 6:12 am 
Dirk BergstromMar 10, 2004 6:25 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[XOM-interest] RecursionActions...
From:Elliotte Rusty Harold (elh@metalab.unc.edu)
Date:Mar 10, 2004 6:12:38 am
List:org.ibiblio.lists.xom-interest

At 10:48 PM -0500 3/9/04, John Cowan wrote:

Fair enough; Element doesn't, after all. You could use reflection to look for the constructor with a single String argument, though, and blow chunks if there isn't one.

Or the double string, if you need to put something in a namespace. But what if the subclass has swapped the arguments? What if it's doing something unusual and only has constructors with three arguments? Bleah.

If I become convinced this is important to fix, I think I'm going to have to add an additional protected method whose purpose is simply to build an empty element of the relevant type. In this case, perhaps copy() could be made final. The main reason copy isn't final now is precisely so subclasses can make it return an instance of the subclass rather than an instance of the superclass. However, this would be inconsistent with the definition of final in the other Node classes so I may not do this.

I don't know. I'm really tempted to wait until someone files an actual bug on this one before fixing it. Especially since I'm seeing some evidence that the non-recursive algorithms are a big performance hit. (Not everything that needs to be O(1) to make your algorithm perform is actually O(1) in XOM. :-( ) I may be able to fix that but only at the cost of setting up and using a temporary stack in every invocation to getValue(). Even if it's O(1) the fixed costs may kill me. --