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

TAGBODY vs LABELS



    GO has to do whatever is necessary in your implementation to get
out of whatever possible stuff that you wrap around the GO.  There are
no restrictions on where a GO may appear other than that it must
be lexically within the body of the TAGBODY and that it must be
evaluated within the dynamic context of the TAGBODY.

    It may be partly due to a lack of complete understanding of how
the LABELS hack works, but I believe that there isn't a
straightforward general conversion in Common Lisp.  In general, any
kind of dynamic state may have to be magically undone.  Consider the
example in p131 where the call to MAPCAR is aborted by a GO.  Special
bindings seem to cause similar problems.

  Rob