chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Re: egg unit testing


From: Kon Lovett
Subject: Re: [Chicken-users] Re: egg unit testing
Date: Sat, 20 Jan 2007 11:53:10 -0800

On Jan 18, 2007, at 10:07 AM, Peter Keller wrote:

Hello,

On Fri, Dec 08, 2006 at 07:56:26AM -0800, Kon Lovett wrote:
But I have issues w/ the source expansion philosophy of Peter
Keller's original, which I never changed. I would like to do the
following:

- - Switch to a minimal source expansion method

- - Remove syntax-case requirement. i.e. add non-hygienic versions of
the macros

- - Then I guess rename the thing "test-base"


New version is called 'testbase'.

The main reason I had chosen the source expansion system that I did
was so that I could instrument the testing code at compile time instead
of at runtime which would have resulted in basically me doing runtime
interpretation of the testing forms. The compiler had a plenty good
source to source translator, so I used it. In many ways this codebase
is similar to the concept of debugging, since I needed to track why and
where tests failed at the point of their failure.

Still does source expansion, just replaced "boiler-plate" code w/ procedures. Cuts down on test code to compile/interpret by 2/3!


The reason I had used the syntax-case stuff was because I had intended
this codebase to be portable. But, seeing how it never ended up anywhere except Chicken that I know if, I guess this isn't so important anymore.

Still uses syntax-case. But both "hygienic" & "dirty" will be supported.

Still fairly portable, uses 'define-inline' & 'define-macro' in places but easy to change. The real Chicken specific stuff (very little) is documented as such.


I am very grateful that this codebase is still in use and I thank you,
especially Ken, for maintaining it. While I had the time to write it, I
discovered I couldn't maintain it properly due to life's constraints.

The only opinions I have about the future of this code is to keep the
feel of the source code expansion idea and eventually implement a complete testing dialect for scheme. Stuff like (test-let ...) which would contain various escape clauses and idenitification strings, etc, etc, etc. Then it could either be given to a macro expansion engine, or a full source to source translator which performs a different instrumentation if desired
(among other things).

Thank you.

-pete





reply via email to

[Prev in Thread] Current Thread [Next in Thread]