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