1
0
Fork 0
cl-sites/HyperSpec-7-0/HyperSpec/Body/06_aaf.htm
2024-04-01 10:24:07 +02:00

39 lines
4.3 KiB
HTML

<!-- Common Lisp HyperSpec (TM), version 7.0 generated by Kent M. Pitman on Mon, 11-Apr-2005 2:31am EDT -->
<HTML>
<HEAD>
<TITLE>CLHS: Section 6.1.1.6</TITLE>
<LINK HREF="../Data/clhs.css" REL="stylesheet" TYPE="text/css" />
<META HTTP-EQUIV="Author" CONTENT="Kent M. Pitman">
<META HTTP-EQUIV="Organization" CONTENT="LispWorks Ltd.">
<LINK REL=TOP HREF="../Front/index.htm">
<LINK REL=COPYRIGHT HREF="../Front/Help.htm#Legal">
<LINK REL=DISCLAIMER HREF="../Front/Help.htm#Disclaimer">
<LINK REL=PREV HREF="06_aaef.htm">
<LINK REL=UP HREF="06_aa.htm">
<LINK REL=NEXT HREF="06_aag.htm">
</HEAD>
<BODY>
<H1><A REV=MADE HREF="http://www.lispworks.com/"><IMG WIDTH=80 HEIGHT=65 ALT="[LISPWORKS]" SRC="../Graphics/LWSmall.gif" ALIGN=Bottom></A><A REL=TOP HREF="../Front/index.htm"><IMG WIDTH=237 HEIGHT=65 ALT="[Common Lisp HyperSpec (TM)]" SRC="../Graphics/CLHS_Sm.gif" ALIGN=Bottom></A> <A REL=PREV HREF="06_aaef.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Previous]" SRC="../Graphics/Prev.gif" ALIGN=Bottom></A><A REL=UP HREF="06_aa.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Up]" SRC="../Graphics/Up.gif" ALIGN=Bottom></A><A REL=NEXT HREF="06_aag.htm"><IMG WIDTH=40 HEIGHT=40 ALT="[Next]" SRC="../Graphics/Next.gif" ALIGN=Bottom></A></H1>
<HR>
<H2>
6.1.1.6 Order of Execution</H2> <P>
With the exceptions listed below, clauses are executed in the loop body in the order in which they appear in the source. Execution is repeated until a clause terminates the <A REL=DEFINITION HREF="m_loop.htm#loop"><B>loop</B></A> or until a <A REL=DEFINITION HREF="m_return.htm#return"><B>return</B></A>, <A REL=DEFINITION HREF="s_go.htm#go"><B>go</B></A>, or <A REL=DEFINITION HREF="s_throw.htm#throw"><B>throw</B></A> form is encountered which transfers control to a point outside of the loop. The following actions are exceptions to the linear order of execution: <P>
<P><DL><P>
<DT>* All variables are initialized first, regardless of where the establishing clauses appear in the source. The order of initialization follows the order of these clauses. <P><DD>
<DT>* The code for any <TT>initially</TT> clauses is collected into one <A REL=DEFINITION HREF="s_progn.htm#progn"><B>progn</B></A> in the order in which the clauses appear in the source. The collected code is executed once in the loop prologue after any implicit variable initializations. <P><DD>
<DT>* The code for any <TT>finally</TT> clauses is collected into one <A REL=DEFINITION HREF="s_progn.htm#progn"><B>progn</B></A> in the order in which the clauses appear in the source. The collected code is executed once in the loop epilogue before any implicit values from the accumulation clauses are returned. Explicit returns anywhere in the source, however, will exit the <A REL=DEFINITION HREF="m_loop.htm#loop"><B>loop</B></A> without executing the epilogue code. <P><DD>
<DT>* A <TT>with</TT> clause introduces a variable <A REL=DEFINITION HREF="26_glo_b.htm#binding"><I>binding</I></A> and an optional initial value. The initial values are calculated in the order in which the <TT>with</TT> clauses occur. <P><DD>
<DT>* Iteration control clauses implicitly perform the following actions: <P><DD>
<P><DL><DT>-- initialize variables; <P><DD>
<DT>-- <A REL=DEFINITION HREF="26_glo_s.htm#step"><I>step</I></A> variables, generally between each execution of the loop body; <P><DD>
<DT>-- perform termination tests, generally just before the execution of the loop body. <P><DD>
<P></DL><P></DL><P>
<HR>
<A REL=NAVIGATOR HREF="../Front/StartPts.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Starting Points]" SRC="../Graphics/StartPts.gif" ALIGN=Bottom></A><A REL=TOC HREF="../Front/Contents.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Contents]" SRC="../Graphics/Contents.gif" ALIGN=Bottom></A><A REL=INDEX HREF="../Front/X_Master.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Index]" SRC="../Graphics/Index.gif" ALIGN=Bottom></A><A REL=INDEX HREF="../Front/X_Symbol.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Symbols]" SRC="../Graphics/Symbols.gif" ALIGN=Bottom></A><A REL=GLOSSARY HREF="../Body/26_a.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Glossary]" SRC="../Graphics/Glossary.gif" ALIGN=Bottom></A><A HREF="../Front/X3J13Iss.htm"><IMG WIDTH=80 HEIGHT=40 ALT="[Issues]" SRC="../Graphics/Issues.gif" ALIGN=Bottom></A><BR>
<A REL=COPYRIGHT HREF="../Front/Help.htm#Legal"><I>Copyright 1996-2005, LispWorks Ltd. All rights reserved.</I></A><P>
</BODY>
</HTML>