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

From: Gregory Cooper (ghcooper at gmail.com)
Date: Tue Sep 9 00:13:03 EDT 2008

> a) multi-file debugging seems to interact badly with dynamic-require: I keep
> getting the dialog box asking me if I want to debug file a, then b, then c,
> then a, then b, etc... never stops -- bottom line is, I can't use it

I'm not sure what to do about this.  If you say "no", does it stop
asking?  If so, could you just say "yes" until you've touched each
module once?

If that doesn't work, then my next question is: how tightly coupled
are the modules?  If you don't want to convert to units, and you can
reduce the cycle-inducing imports to a just a few, then one trick is
to fake B's import of A's `foo' by having B export a `set-foo' for A.
I think this is roughly what units would do internally.


> b) the module browser does not open: I get the message "The module browser
> is only available for programs in the PLT languages and in the module
> language (and only for programs that have modules in them)." ... and my
> program is in the module language, my program is made up of 6-7 modules + a
> couple of test files that just require the modules and play with them.
> any advice is greatly appreciated,
> -- Éric
> On Sep 8, 2008, at 23:22 , Eric Tanter wrote:
>> Indeed, with dynamic-require I was able to have things work. Thanks a lot!
>> -- Éric
>> On Sep 8, 2008, at 19:19 , Henk Boom wrote:
>>> 2008/9/8 Eric Tanter <etanter at dcc.uchile.cl>:
>>>>> The short answer is that modules may have macros and other things that
>>>>> affect the compilation of those that require them, so cycles are just
>>>>> disallowed.
>>>> Ok I understand that. Would be nice if I could say (or even better, if
>>>> the
>>>> system could figure out --fairly straightforward I guess) that a module
>>>> is a
>>>> "plain standard definitions module" so that these issues don't show up.
>>>>> You might try using units inside your files
>>>> ok, will look at what this other kind of beast is...
>>>>> (or just refactoring ...)
>>>> I understand this idea, but does not always work. I have an interpreter
>>>> and
>>>> a transport layer, I want them to be separate modules, but one needs to
>>>> call
>>>> the other, and vice-versa. Can't help it. And I can imagine tons of
>>>> similar
>>>> cases...
>>> You could try dynamic-require, which seems to work in my experience.
>>>  Henk
>> _________________________________________________
>> 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.