[plt-scheme] easy way of doing check-syntax across a projectwide directory?
Did you try using mzc -k? You can pass the main file(s) on the
commandline and it will compile them all, including dependencies and
tell you about unbound ids.
Robby
On 2/12/07, Daniel Yoo <dyoo at cs.wpi.edu> wrote:
> Hi everyone,
>
> I'm working on fixing some interface issues between modules for a project
> that uses quite a lot of modules. Basically, some of the modules have a
> (provide (all-defined)) thing, even on variables that should be
> module-private. I'm trying to close up those modules, slowly transforming
> things using (provide (all-defined-except ...)) to gradually introduce
> more privacy.
>
>
> If this were C, I'd take an iterative approach: I'd make a single change
> to a module's interface, do a 'make clean', and then 'make' to watch what
> things break, and fix things until the compile goes through cleanly, and
> be reasonably sure I caught all the implications of the interface change.
>
> I'm not so sure how to do the same thing in PLT Scheme. Is there a
> similar way to make that workflow work here, or is there an alternative
> that's better? The files in my project all live in subdirectories of a
> main project directory.
>
>
> The trick I've been doing (and I'm not sure if this is correct!) has been:
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;; go into the directory where my project lives
> > (require (lib "compiler.ss" "compiler"))
> > (compile-directory-zos (current-directory) (lambda (x t) (t)))
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
> As I edit files, I reevaluate the COMPILE-DIRECTORY-ZOS thing.
>
>
> Any suggestions would be greatly appreciated. Thanks!
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>