[plt-scheme] a single module split across several files

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Nov 21 14:12:49 EST 2008

I urge you to break large modules into reasonably small modules and  
link them. You're better off that way, for designing, debugging, and  
maintenance. There is no hard limit of course but I tend to think of  
my modules as somewhere between 20 and 2000 lines, with the latter  
being on the very large side for me.

-- Matthias





On Nov 21, 2008, at 2:05 PM, Doug Williams wrote:

> I'm curious about what the pros answer this one.  Faced with the  
> same situation, I factored the code into manageable units and use  
> the incude function.  I don't think it's very elegant, but it works.
>
> Doug
>
> On Fri, Nov 21, 2008 at 11:42 AM, Daniel Roy <droy at mit.edu> wrote:
> I have a question about using modules/units and physical code  
> organization.
>
> Simply put:  can I split a single module across several files so  
> its easier to work with?
>
> More details: We had been using the Pretty Big language and  
> (load ...) commands to piece together a number of files totaling  
> roughly 14,000 lines.  I've recently moved the code into the  
> modules framework (which seems to be necessary in order to get  
> debugging across multiple files and other more advanced  
> functionality to work in DrScheme).  However, in the process, I had  
> to (naively) concatenate a number of files together as they  
> referenced each other.  If they were separate modules, they would  
> have had cyclic dependencies.  That said, they aren't really cyclic  
> -- they really are a single module.  Unfortunately it's also 6000  
> lines of code.  Using (load ...) doesn't work (at least my naive  
> attempts at using load didn't work).
>
> Now, undoubtedly there is some re-factoring that could be done to  
> identify reusable and generic components that I could separate out  
> as other modules and reduce this file to a manageable size.   But  
> this is a research project not a software development one and the  
> form and structure of the code is subject to radical changes.  Can  
> I get the benefit of modules (better optimization? debugging? etc?)  
> without being forced to move dependent code into the same physical  
> file?
>
> thanks,
> dan
>
>
> -- 
> Daniel Roy
> CSAIL/MIT
> http://web.mit.edu/droy/www
> (mobile) +1 617 872 3267
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
>
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme



Posted on the users mailing list.