[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Code Generated by Macros



    Date: Wed, 24 Apr 85 12:58:16 EST
    From: greek@DEC-HUDSON

    We found that the following "macros" generated loops that hid a
    surrounding NIL block:

    	CCASE
    	CTYPECASE
    	DO-SYMBOLS et al
    	lots of compiler transformations (e.g., that turned a map
    		into a loop)

    Also, of course, plenty of macros written by users can inadvertently
    cause the problem.

    The simplest way around is to only generate TAGBODYs.  Even PROG
    establishes a NIL block.

Oh come on.  This is what BLOCK and GENSYM are good for.  This is why
named PROGs have been useful in the past (in NIL and Zetalisp).
GENSYM is also good for generating tags within your tagbody -- you
still need to worry about uniqueness there.