Newsgroups: comp.lang.lisp Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!linus!linus!clouseau!john From: john@clouseau.mitre.org (John D. Burger) Subject: Re: string to symbol conversion Message-ID: <1991Jun25.195024.2977@linus.mitre.org> Sender: news@linus.mitre.org (News Service) Nntp-Posting-Host: clouseau.mitre.org Organization: The MITRE Corporation, Bedford, MA 01730 Date: Tue, 25 Jun 1991 19:50:24 GMT Lines: 32 mitchell@tartarus.uchicago.edu writes: [Code to concatenate strings and symbols deleted] As far as I can tell, the functionality of your INSIST macro is implemented by a CommonLisp built-in, ASSERT. The ASSERT macro also has some other nice features, in that it allows you to specify some SETF places for its second argument, e.g. (defun feed-horse (horse barn) (assert (horse-in-barn horse barn) ((barn-door-closed? barn) ;; More SETF places go here ... ) "The horse has escaped!") ;; Code to actually feed horse goes here ... ) The debugger then presents these to the user so she can try to recover when the assertion fails. Thus: (feed-horse *trigger* *empty-barn*) ERROR: The horse has escaped! Options: A: Specify a new value for (BARN-DOOR-CLOSED? BARN) B: Exit to top level -- John Burger john@mitre.org "You ever think about .signature files? I mean, do we really need them?" - alt.andy.rooney