octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: after 3.2


From: Ben Abbott
Subject: Re: after 3.2
Date: Fri, 13 Mar 2009 08:04:04 +0800


On Mar 13, 2009, at 3:55 AM, John W. Eaton wrote:

Here's a list of possible projects for after 3.2.

I've tagged completed items with an "X" and items for which some work
has been done with an "+".

 * Namespace(s) for Octave sources.

 * Objects:
     - Operator overloading vs. constant folding
     - Overloading built-in classes (double, etc.)

 * Profiler.

 * Nested functions.

 * Graphics:
     + Fonts and text objects
     + Refactor base_properties
     + Specific types for properties with improved property value
       checking
     + Implement the addprops function allow additional properties
       to objects
     + add the hggroup object that has no fixed properties for use
       by barseries, etc.
     + Add callback DeleteFcn/CreateFcn to objects
     + Allow listener functions to be added to objects
     + Clean separation of backend from property database
     + Implement experimental backend based on OpenGL and GUI
       toolkit

 * Avoid segfault problem when clearing dynamically linked functions
   that create user-defined types.

 * Move code to external packages
     - optimization?
     - signal?
     - statistics?

 * Handle block comments inside [] or {} and also in the group of
   comments following a continuation character, etc.  See the FIXME
   comments in lex.l.

 + Mixed sparse x diagonal matrix operations (may be included in 3.2).

 * Use templates instead of macros where possible.

 * Update the configure script and make checks for header files and
   libraries more consistent (maybe we could recruit an autoconf
   expert to help with this job).

 * Rewrite Makefiles to avoid recursive make (see
   http://miller.emu.id.au/pmiller/books/rmch/ for some ideas).

For me, the first six items above have a fairly high priority.
Especially graphics and the profiler.

If you have comments, suggestions, or additions, please send them to
me or to the list for discussion, and I'll update the list and
repost.

At this point, it can be something of a wish list, but the items
should be things that we have some chance of implementing before the
next release (after 3.2).  By the time we make the 3.2 release, we
should have this list narrowed down to maybe the top 10 items as
prioity projects.  I'd still like to see us reduce the interval
between stable releases to something like 6-9 months, so I think doing
that will require focusing on a smaller list of projects for each
release, then making the release and moving on instead of allowing the
list of projects to continually expand (this is something I need to
work on as much as anyone else).

jwe


Both addproperty and addlistener (as well as dellistener) are already available (and being used). However, I'd like to have a deleteproperty, so that properties needed on a temporary basis can be deleted when their no longer needed (we'd need a deleteable attribute added to such examples).

Also, Matlab's addproperty has a different purpose.

        
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/addproperty.html

For compatibility with Matlab, Octave should use {set,get,is,rm}appdata.

        
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/setappdata.html
        
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/getappdata.html
        http://www.mathworks.com/access/helpdesk/help/techdoc/ref/rmappdata.html
        http://www.mathworks.com/access/helpdesk/help/techdoc/ref/isappdata.html

More detailed and robust font handling could be added as well. Using fontfonfig it is possible to obtain the information needed to match fonts (say when Helvetica is missing, the information needed to find an equivalent is available). For anyone interested, the link below has more detailed information about what information is available from fontconfig.

        http://fontconfig.org/fontconfig-user.html

Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]