waander@flubber.cs.umd.edu (Bill Andersen) (06/29/91)
I noticed the INSIST macro in your SYMCAT code. Why use this when you can just use CL's ASSERT? The function of ASSERT is to allow programmers to insert arbitrary tests into their functions to guard against bad arguments, etc. I pointed this out to another UChicago person and he agreed with me. This macro is all over the place in Schank & Riesbeck's "Inside Case Based Reasoning" so I assume that's how it migrated to UChicago (via Hammond & others). -- Bill Andersen (waander@cs.umd.edu) | University of Maryland | clever .signature saying Department of Computer Science | under construction College Park, Maryland 20742 |
mitchell@tartarus.uchicago.edu (Mitchell Marks) (06/30/91)
>>>>> "ba" == Bill Andersen <waander@flubber.cs.umd.edu> writes:
ba> I noticed the INSIST macro in your SYMCAT code. Why use this
ba> when you can just use CL's ASSERT?
For thoroughly uninteresting personal/historical reasons: at the time,
I wasn't aware of ASSERT, and had recently come across INSIST and was
using it everywhere for about a week.
ba> The function of ASSERT is to allow programmers to insert
ba> arbitrary tests into their functions to guard against bad
ba> arguments, etc. I pointed this out to another UChicago person
ba> and he agreed with me.
And so do I, mostly. ASSERT certainly provides *more* functionality.
There are also nice aspects to INSIST that ASSERT misses on, though
not enough to make me prefer INSIST overall, now that I've learned
about ASSERT -- on those occasions where something of that sort is
desirable at all. (There was really no need for either in the code I
posted, it was just a relic of that moment when I had INSIST in my
head.) And in any case, sticking to something that's already standard
in the language is in general a winner, right?
ba> This macro is all over the place in Schank & Riesbeck's "Inside
ba> Case Based Reasoning" so I assume that's how it migrated to
ba> UChicago (via Hammond & others).
Ja... Und?
While we're on the subject, I also noticed too late (*sigh*) that
there was another non-standard macro, FOR, in the SYMCAT code I
posted. Sorry, everybody. It could easily be replaced by a standard
mapping or iteration construct.
--
Mitch Marks mitchell@cs.UChicago.EDU
"Oh God comma I abhor self-consciousness" --John Barth