Subject: Re: Programming machine
From: rpw3@rpw3.org (Rob Warnock)
Date: Tue, 08 Jun 2004 21:57:26 -0500
Newsgroups: comp.lang.lisp
Message-ID: <rYWdnVybZdgL4VvdRVn-iQ@speakeasy.net>
Joe Marshall  <jrm@ccs.neu.edu> wrote:
+---------------
| "Will Hartung" <willh@msoft.com> writes:
| > So, it boils down to (with a sufficiently sugary macro):
| > (while (not (perfect burrito))
| >     (cook burrito))
...
| (while (< (desire-to-eat-now burrito)
|           (desire-to-eat-after-more-cooking burrito))
|    (cook burrito))
+---------------

You guys forgot to protect against a single shot of COOK being
too much (or too little). Try this (which was what I used back
when I ate burritos, before being stricken by low-carb-ness):

  (let ((cook-time 60))
    (while (< (desire-to-eat-now burrito)
	      (desire-to-eat-after-more-cooking burrito))
       (cook burrito :power :high :seconds cook-time)
       (setf cook-time 15)))

Or on a puny microwave, perhaps even this:  ;-}  ;-}

  (loop for cook-time in '(60 30 15 . #1=(10 . #1#))
        while (< (desire-to-eat-now burrito)
		 (desire-to-eat-after-more-cooking burrito))
	do (cook burrito :power :high :seconds cook-time))


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607