Robert Bradshaw <rober...@math.washington.edu> writes:

> On Mon, Jul 9, 2012 at 11:54 AM, William Stein <wst...@gmail.com> wrote:
>> On Mon, Jul 9, 2012 at 11:49 AM, Robert Bradshaw
>> <rober...@math.washington.edu> wrote:
>>> On Mon, Jun 18, 2012 at 7:03 PM, Jason Grout
>>> <jason-s...@creativetrax.com> wrote:
>>>> On 6/18/12 8:05 PM, John H Palmieri wrote:
>>>>>
>>>>> On Monday, June 18, 2012 3:34:15 AM UTC-7, Nathann Cohen wrote:
>>>>>
>>>>>     Helloooooooooo everybody !!!
>>>>>
>>>>>     Our graph files are getting quite large, and there is in some
>>>>>     situations a way to make it shorter : we can define some functions
>>>>>     in modules and import them in the Graph class afterwards.
>>>>>
>>>>>
>>>>> The matrix class is large, and is basically broken up into three (or
>>>>> four) files: matrix0.pyx, matrix1.pyx, matrix2.pyx (and matrix.pyx).
>>>>> Maybe you could use that approach.
>>>>
>>>>
>>>> And there has been discussion that it was broken up because of limitations
>>>> in Cython from long ago, and it should be recombined again.
>>>>
>>>> Personally, it's a bit confusing to try to find which method is in which
>>>> file when you're trying to change something...
>>>
>>> +1
>>
>> -1
>>
>> I'm in fact surprised by Robert's +1.
>>
>> This suggestion is very ironic, because the "limitation" that caused
>> me to have to break up the files in the first place is that it takes a
>> *long* time to compile the autogenerated code.  That certainly hasn't
>> changed -- if anything, things are worse now, since Cython generates
>> even more code.  Recombining them will only make it much more painful
>> to work on these files.
>>
>> If anything, it would be good to break them up even further, but in
>> some logical way.  The main improvements in Cython over the years are
>> that it is much, much easier to break big code into smaller files.
>>
>> Doctesting is also bad when you have one big file.  I'm against having
>> a 20,000 line .pyx file in Sage, which is exactly what you're
>> proposing.   The autogenerated C code would be over 100,000 lines.
>> One file.
>
> I stand by my position that it's a hack to have to break things up due
> to technical limitations of compilation/testing. Maybe a necessary
> hack, but we've contorted the code due to tool limitations, not
> because it's a good way to organize things. (Perhaps things could be
> laid out more logically, but having authored much of the code in
> question, I still couldn't tell you without looking it up if
> Matrix.augment() was in matrix0, matrix1, or matrix2.)

+1 to all this, for what it's worth.

-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