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

From: Robby Findler (robby at cs.uchicago.edu)
Date: Fri Nov 21 14:02:58 EST 2008

You might try 'include' but compilation won't track dependencies for
those files (so it is probably a bad idea).

If I were too lazy to refactor, I would probably just live with a 6000
line file (but ... that's me :).

Check Syntax could make this job much easier.

You might also try units, but it might end up being more work than refactoring.


On Fri, Nov 21, 2008 at 12:42 PM, 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
> 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

Posted on the users mailing list.