On Thu, Nov 3, 2011 at 2:10 PM, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
> On 2011-11-03 21:55, Francois Bissey wrote:
>> About the next sage. Apart from #11986 python-2.7 is functional with
>> sage and the patch bomb in #9958 is purely about fixing doctest.
>> If we have a solution to #11986 in short order I suggest that python-2.7
>> should land in the next alpha (alpha1 rather than alpha0 I mean).
> If it has positive review and doesn't break anything, sure...
>
>> If not in the currently named 4.7.3, I believe it should be in the next
>> release. If we land it now, we may even want to call it sage-5.0.
> I don't think we are allowed to release sage-5.0 without it working on
> Windows.  So maybe we ought to silently skip 5.0 and go directly for
> 6.0, hoping William doesn't notice :-)

I've been thinking about what "sage-5.0" should be, beyond what is
already slated to be in sage-4.8.    I propose the following goals:

   * Finish OS X 10.7 port:
http://trac.sagemath.org/sage_trac/ticket/11881    (I've been working
on this lately...)

   * Get the new more scalable notebook included in Sage (maybe
something slightly less ambitious than what Jason Grout setup
recently, but close).

   * Get doctest coverage to 90% not counting the sage/server
directory (we have 87.9% in sage-4.7.3.alpha1, and need to doctest 588
more functions to get coverage to 90%).

Regarding Windows, as the world switches to web-apps and the cloud, it
is more important to focus on the notebook than on porting Sage to
Windows.    Also, any longterm strategy for getting Sage to really
work on Windows will require getting rid of any use of pexpect, which
libGAP, libMaxima, etc., really help with, but we aren't nearly there
yet.

Regarding the above, it's really critical that we support the latest
version of OS X, if for no other reason than the fact that *I* have it
installed on my laptop, and I use my laptop most of the time; it
really sucks that I can't even build Sage on my own laptop.

Regarding doctest coverage, getting it up to 90% will force us to do
an audit of the Sage codebase, and improve the quality of some parts
of it (and possibly delete some old crufty untested code).    Anybody
can contribute.   Just type

           ./sage -coverageall | grep -v 100

and look.  For example, here is some low hanging fruit that one sees:

structure/generators.pyx: 11% (5 of 45)

You could knock that 588 down by 40 by adding tests to code like this:

####################################
class GenIter(SageObject):
    """
    An iterator over a set of generators.
    """
    def __init__(self, Generators gens):
        if gens._index_set is None:
            self._index_iter = iter(xrange(gens.count()))
        else:
            self._index_iter = iter(gens._index_set)
        self._gens = gens

    def next(self):
        return self._gens.get_from_index(self._index_iter.next())

    def __iter__(self):
        return self
############################

I would really like to see some tests of this code, to see how the
hecke one makes a Generators instance, etc.

Let's do Sage-5.0 !


 -- William

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to