[plt-scheme] Simple IDE questions: multi-file projects

From: Eric Tanter (etanter at dcc.uchile.cl)
Date: Mon Sep 8 18:30:50 EDT 2008

Thanks all for the extremely fast answers!
I understood that I need to start using modules instead of files with  
load.

So I'm trying (still)...
Problem I'm running into: mutually-recursive modules (A requires B, B  
requires A). I get a cycle error.
I have found a thread on the mailing list (from 2004 (*)), that  
suggests that it's not feasible "out of the box".

So I am trying to refactor the code to avoid this, but does not seem  
possible.
While I'm still trying, I can't help wondering: what is wrong with  
mutually-recursive modules?

Note that I understand the technical reason of why a cycle is bad,  
because a module can have expressions that have to be evaluated, so  
all definitions must be there, etc. -- but all my modules are just  
define's, the actual code is in the examples/tests -- so there is  
indeed no real problem with the dependencies (I guess that's why the  
solution with files/load was working nicely.

Any simple way out of this tunnel?

-- Éric

(*) http://article.gmane.org/gmane.lisp.scheme.plt/6081

PS: BTW this might be a bug:
a circular dependency of the type:
A requires B
B requires (only-in A foo)
does not result in a cyclic error, but in an out of memory error. (I  
guess one would expect the same circularity error)


On Sep 8, 2008, at 13:55 , Danny Yoo wrote:

>> I have a multi-file project, all files open, I debug one of the  
>> test file
>> (examples.scm) that starts by loading other files:
>>
>> (load "ds-fp.scm")
>> (load "test.scm")
>> (load "macros.scm")
>
> Are you using PLT Scheme modules?  It looks like you're using "load",
> which isn't involving the module system.  See:
>
>   http://docs.plt-scheme.org/guide/intro.html#(part._use-module)
>
>   http://docs.plt-scheme.org/guide/module-basics.html
>
>
> Good luck to you!



Posted on the users mailing list.