From: Thomas F. Burdick
Subject: Re: lisp equivalent to c++ continue
Date: 
Message-ID: <xcvy853dn6u.fsf@conquest.OCF.Berkeley.EDU>
Pascal Costanza <ยทยท@p-cos.net> writes:

> In general, you could use tagbody or prog which allow you to use a go 
> statement:
> 
> (tagbody
>    :start ...
>    (go :start) ; similar to continue
>    (go :end) ; will never get reached
>    :end)

Excellent advice, but your indentation is weird and using keywords in
a tagbody is about as aweful as using them for LOOP keywords :-)

I'd have written it like this (and would have had to fight against
Emacs to do otherwise):

  (tagbody
   start
     (go start)
     (go end)
   end)

> However, this is very low-level, and it is probably better to hide this 
> with a macro.

If it gets complicated, I agree.  If your tagbody is really clear and
easy to read like this, I don't see why not to write it out as above.
If you start using it as an idiom, though, then yeah, it's macro time.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | Free Mumia Abu-Jamal! |
     ,--'    _,'   | Abolish the racist    |
    /       /      | death penalty!        |
   (   -.  |       `-----------------------'
   |     ) |                               
  (`-.  '--.)                              
   `. )----'