Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!zaphod.mps.ohio-state.edu!uwm.edu!linac!midway!midway.uchicago.edu!mitchell From: mitchell@tartarus.uchicago.edu (Mitchell Marks) Newsgroups: comp.lang.lisp Subject: Re: INSIST Macro (was: Re: string to symbol conversion) Message-ID: Date: 29 Jun 91 17:52:12 GMT References: <32436@dime.cs.umass.edu> <36066@mimsy.umd.edu> Sender: news@midway.uchicago.edu (NewsMistress) Reply-To: mitchell@tartarus.uchicago.edu Organization: University of Chicago Computer Science Lines: 35 In-Reply-To: waander@flubber.cs.umd.edu's message of 29 Jun 91 04: 45:45 GMT >>>>> "ba" == Bill Andersen 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