[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
go and return-from inside unwind-protect cleanup
- To: Guy Steele <gls@THINK-AQUINAS.ARPA>
- Subject: go and return-from inside unwind-protect cleanup
- From: David A. Moon <Moon@SCRC-STONY-BROOK.ARPA>
- Date: Wed, 25 Sep 85 22:01 EDT
- Cc: DCP@SCRC-QUABBIN.ARPA, Common-Lisp@SU-AI.ARPA
- In-reply-to: <850909130121.2.GLS@IGNATIUS.THINK.COM>
Date: Mon, 9 Sep 85 13:01 EDT
From: Guy Steele <gls@THINK-AQUINAS.ARPA>
Date: Mon, 9 Sep 85 09:43 EDT
From: David C. Plummer in disguise <DCP@SCRC-QUABBIN.ARPA>
Are the following legal?
(defun foo (go-p)
(if go-p (go tag)))))
(defun bar (return-p)
(if return-p (return nil)))))
I regard both of these as completely legal.
While they may be legal and implementable, I feel that this programming
style should be strongly discouraged. For one thing, it can be
rather difficult to stop the execution of (FOO T), since any attempt
to THROW out of it will simply cause it to re-enter its infinite loop.