Edit history: 2004-12-14, Version 1 by Paul Dietz
Status: For CLiki consideration
- Problem Description:
- The description of the :(CLHS TIME) macro makes it unclear if the macro is expected to print when execution of the form is over, or only if the form terminates normally returning zero or more values. Also, it is unclear if the same kind of information must be provided by the macro in all executions.
- Proposal (TIME-ALWAYS-PRINTS:ALWAYS):
- Specify that the information printed by :(CLHS TIME) has the same format and content regardless of how the enclosed form terminates, and that the printing occurs when control is transfered from the form by normal return or non-local transfer of control (which does not include conditions until the stack is unwound.)
- Test case:
(let ((s (with-output-to-string (*trace-output*) (block done (time (return-from done nil)))))) (= (length s) 0)) ==> NIL
- Duane Rettig has objected strongly to a test reflecting the proposed behavior.