|
From: | David Bateman |
Subject: | Re: dispatch |
Date: | Fri, 18 Feb 2005 17:35:32 +0100 |
User-agent: | Mozilla Thunderbird 0.8 (X11/20040923) |
John W. Eaton wrote:
I would like to merge the sparse-merge CVS branch with the main trunk soon. The main thing holding up the merge is that the sparse code relies on the dispatch function from octave-forge, and I would prefer that the core Octave distribution not require functions from octave-forge. I like that the current implementation of dispatch only imposes the overhead of dispatching for functions that have been marked. But when we implement Matlab-compatible classes, we will have to look for class methods for every function call (there can be a cache to speed lookups, but since people can add functions to @CLASS directories at runtime, I think we will still have to look in the filesystem to see if any new functions are available for a given class). Should we copy the dispatch function to Octave (as a short term solution that would allow the sparse code to be merged quickly) or take the time now to do more invasive surgery and add dispatch directly to the function lookup code in the core of Octave? Comments? Thanks, jwe
My feelings are that as the wish list for version 3 included private directories and that classes are an extension of the same idea, and so not necessary all that much extra work, that version 3.0 should take the time to include a matlab compatiable version of classes. However it seems to me that dispatch in and of itself is valuable, even with classes, and so importing dispatch into octave seems logical and I'd suggest leaving it there even after classes are introduced. In that case why not go the way of the quick fix, and migrate the dispatching of the sparse functions to use classes as they are introduced.... It seems to me that classes/private directories are the last major item on the 3.0 wishlist, so hopefully the wait won't be too long :-)
Regards David -- David Bateman address@hiddenMotorola Labs - Paris +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE
The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary
[Prev in Thread] | Current Thread | [Next in Thread] |