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.<br><br>Doug<br>
<br><div class="gmail_quote">On Fri, Nov 21, 2008 at 11:42 AM, Daniel Roy <span dir="ltr"><<a href="mailto:droy@mit.edu">droy@mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have a question about using modules/units and physical code organization.<br><br>Simply put: can I split a single module across several files so its easier to work with? <br><br>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). <br>
<br>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?<br>
<br>thanks,<br>dan<br><font color="#888888"><br><br>-- <br>Daniel Roy <br>CSAIL/MIT<br><a href="http://web.mit.edu/droy/www" target="_blank">http://web.mit.edu/droy/www</a><br>(mobile) +1 617 872 3267<br>
</font><br>_________________________________________________<br>
For list-related administrative tasks:<br>
<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
<br></blockquote></div><br>