[plt-scheme] Development Cycle
Arend P. van der Veen writes:
> I'm trying to figure out how to best use mzscheme in my development
> environment - here is what I currently do:
>
> 1. Edit files in emacs
>
> 2. Place files in modules in my-collection
>
> 3. mzc --collection-zos my-collection
>
> 4. setup-plt --mode errortrace -l my-collection
>
> 5. Run program in emacs compile buffer
>
> 6. View error messages
>
> 7. Go to 1.
>
> This process is not very pleasant because:
> - step 4 is very time consuming
> - the system runs extremely slowly if I run step 4.
> - omitting step 4 leaves me without an errortrace and makes debugging
> quite challenging
>
> I'm wondering if there is a way to get a more efficient development
> cycle?
First of all, do you even need to run the compiler at all? You can
get errortrace just by putting this in your ~/.mzschemerc file:
(require (lib "errortrace.ss" "errortrace"))
Then just run mzscheme and it will compile everything (with error
tracing) on load. Alternatively, you could use "mzscheme -M errortrace".
I recently started using the compilation-manager stuff so that it only
compiles when dependencies change, by putting this in my
~/.mzschemerc:
(require (lib "cm.ss"))
(current-load/use-compiled (make-compilation-manager-load/use-compiled-handler))
(manager-compile-notify-handler
(lambda (file)
(printf "Compiling ~a.~%" file)))
Maybe I'm missing something about what your 7-step process is trying
to do?
--dougo at place.org