On Sep 10, 2009, at 4:41 AM, Eduardo Cavazos wrote:

It's happened soooo many times that I throw a library together and then
need to debug one (or more) of the non-exported procedures/macros. At
this point the workflow is:

   Manually adjust the exports

   Manually restart and reimport
   (possibly alot of stuff to get to the point I was at)

   Or instead of restarting, uninstall the library and reimport

   Debug

   Manually adjust the exports back
   (I wonder how many of you have littered 'exports' because you
    skipped this step! :-) )

I happen not to develop this way. My workflow for developing something new
is:

1. Start with a script that has definitions on top and tests at the bottom.
2. Test (by basically running the script), debug, loop.
3. Split the top of the file into a library and leave the bottom as its test
   suite.

For already developed libraries, it's a matter of adding more tests that
exhibit the bugs and fixing the code to make the tests run. So, it's just
4. Run tests, edit code, loop.

I usually have two terminal windows open side to side. One shows the code
being edited, and one has "ikarus --r6rs-script <some test file>" in its
buffer.  So, running the tests is only two keystrokes away.

To put it another way, I never test or debug the internals of a library,
only its interface, so, I never run into these littered exports that you
talk about.

[I'm just describing how I work as it may be beneficial to somebody who
does not know how one could possibly do any development without a repl.
Not that a repl is a bad thing of course.  (except for debugging that
is. :-))]

Aziz,,,

Reply via email to