[plt-scheme] easy way of doing check-syntax across a projectwide directory?

From: Robby Findler (robby at cs.uchicago.edu)
Date: Mon Feb 12 21:38:41 EST 2007

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.


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

Posted on the users mailing list.