William Stein <wst...@gmail.com> writes:
> On Tue, Jul 3, 2012 at 11:33 AM, John H Palmieri <jhpalmier...@gmail.com> 
> wrote:
>>
>>
>> On Tuesday, July 3, 2012 10:55:21 AM UTC-7, David Roe wrote:
>>>
>>> Hi everyone,
>>> The new doctesting code (#12415) needs a change to the way Sage handles
>>> temporary files, which is described at #13147.  We can either
>>> 1. change every use of temporary files within the sage library, or
>>> 2. depend on the speaklater project and use a lazy string.
>>>
>>> Everyone working on the ticket thinks option 2 is the way to go.
>>> Speaklater consists of a single python file and is already used in the new
>>> flask notebook (#11080) by including the python file.  Rather than introduce
>>> a strange dependency of sage on the notebook or to separately include the
>>> python file in sage, I would like to propose including speaklater as a
>>> separate spkg (which sagenb and sage would both depend on).  The spkg is
>>> 6.6K.
>>>
>>> So vote:
>>>
>>>
>>> [   ] Include speaklater.py in sage without any doctests.
>>
>>
>> Does this choice have to be "include speaklater.py in both sage and sagenb",
>> since sagenb uses it, and sagenb should function without the Sage library?
>> If that's right, then I'd prefer to avoid the code duplication, so I prefer
>> either
>>
>> [X] Make speaklater a standard spkg
>
> Please consider that every spkg has the potential of substantial
> maintenance associated with it, given that the spkg system wasn't
> designed to have thousands of standard spkg's at once.   If you look
> at the entire code of speaklater.py, you'll see it is *shorter* than
> just the build/config code that we've written for some of the spkg's.

IMO it's usually better to depend on someone else's code than to absorb
it, because then you can more easily pick up bugfixes later, and also it
makes it clearer that we are benefiting from their work. To choose
absorbing code instead of depending on it simply because it's small and
maintaining a package seems like a non-zero amount of work seems to me
like the wrong thing to do.

In any case, I've nominated myself as the maintainer for this SPKG. I
don't anticipate it requiring substantial maintenance, since it's so
small, and is furthermore pure Python and has no dependencies, and so
should be pretty cross platform.

The SPKG system is broken, but let's not create more messes that we'll
need to sort out later when we get rid of SPKGs. If we switch to Prefix,
for example, this all goes out the window - just copy an ebuild from the
Gentoo project and add "speaklater" to the dependencies of Sage.

To those worrying about code duplication: note that adding speaklater to
the Sage library is code duplication, since that code would now exist in
Sage and on http://github.com/mitsuhiko/speaklater , two unrelated
projects.

-Keshav

----
Join us in #sagemath on irc.freenode.net !

-- 
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