User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:macros:step [2019/10/13 03:00]
cl:macros:step [2019/10/14 06:00] (current)
Line 1: Line 1:
 +====== Macro STEP ======
 +
 +====Syntax====
 +  * **step** //form// → //​result''​*''//​
 +
 +====Arguments and Values====
 +  * //form// - a //​[[CL:​Glossary:​form]]//;​ evaluated as described below.
 +  * //results// - the //​[[CL:​Glossary:​value|values]]//​ returned by the //form//.
 +
 +====Description====
 +**step** implements a debugging paradigm wherein the programmer is allowed to //​[[CL:​Glossary:​step]]//​ through the //​[[CL:​Glossary:​evaluation]]//​ of a //​[[CL:​Glossary:​form]]//​. The specific nature of the interaction,​ including which I/O streams are used and whether the stepping has lexical or dynamic scope, is //​[[CL:​Glossary:​implementation-defined]]//​.
 +
 +**step** evaluates //form// in the current //​[[CL:​Glossary:​environment]]//​. A call to **step** can be compiled, but it is acceptable for an implementation to interactively step through only those parts of the computation that are interpreted.
 +
 +It is technically permissible for a //​[[CL:​Glossary:​conforming implementation]]//​ to take no action at all other than normal //​[[CL:​Glossary:​execution]]//​ of the //form//. In such a situation, ''​(step //​form//​)''​ is equivalent to, for example, ''​(let () //​form//​)''​. In implementations where this is the case, the associated documentation should mention that fact.
 +
 +====Examples====
 +None.
 +
 +====Affected By====
 +None.
 +
 +====Exceptional Situations====
 +None.
 +
 +====See Also====
 +**[[CL:​Macros:​trace|Macro TRACE]]**
 +
 +====Notes====
 +//​[[CL:​Glossary:​implementation|Implementations]]//​ are encouraged to respond to the typing of ''?''​ or the pressing of a "help key" by providing help including a list of commands.
 +
 +\issue{EVALHOOK-STEP-CONFUSION:​X3J13-NOV-89} \issue{EVALHOOK-STEP-CONFUSION:​X3J13-NOV-89} \issue{STEP-ENVIRONMENT:​CURRENT} \issue{STEP-MINIMAL:​PERMIT-PROGN} \issue{EVALHOOK-STEP-CONFUSION:​X3J13-NOV-89}