[plt-scheme] Development Cycle

From: Neil W. Van Dyke (neil at neilvandyke.org)
Date: Mon Apr 4 18:09:20 EDT 2005

Arend P. van der Veen <apvanderveen at att.net> wrote at 2005-04-04T09:59:26-0400:
> I'm trying to figure out how to best use mzscheme in my development
> environment - here is what I currently do:

Some things I do, developing using MzScheme from Emacs:

* I use the REPL a lot, generally having one Emacs frame for Scheme
  editing and another frame for the "*scheme*" buffer window.  I use
  [C-c C-l] and [C-x C-e] a lot to send code from "scheme-mode" buffers
  to the REPL.  I also go type expressions into the REPL directly to see
  what they do.  PLT modules complicate this a bit.

* I use unit tests a lot, which exposes many bugs close to their origin,
  eliminating many instances of compiling the entire system with
  "errortrace".  (You can use unit tests without the stigma of "Extreme
  Programming", by the way; XP people might grin condescendingly and
  proclaim that you now "get it", but unit tests were born before many
  of them were.)  The next version of Testeez will make adding test
  cases even easier.

* A long time ago, I decided that the activity of "debugging" was the
  single biggest productivity suck in software development (other than
  coordination in dysfunctional teams, I mean).  So I avoid writing bugs
  as much as seems practical.  That sounds glib, but I am serious.

* I generally only use "errortrace" when I've already noticed a bug and
  I have no immediate idea where it's occuring.  Having "errortrace"
  always on seems to slow development, and I've found situations (e.g.,
  loading a file with my heavy-CPS "syntax-rules") in which "errortrace"
  makes things prohibitively slow on my aging computers.

* I only rarely bother compiling code while I'm actively working on it.


Posted on the users mailing list.