MacroPackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
This page is new in 8.2.

ensuring-compiled-body

Arguments: &body body

This macro is like progn, in that is executes the forms in body sequentially, but when a ensuring-compiled-body form is encountered in interpreted code, it wraps the code body in a lambda, processes it with compile-lambda-expr-in-env, and funcalls the result.

Here is this macro being used by the Allegro CL implementation of cl:time, as an example of its use:

(defmacro time (form)
  `(ensuring-compiled-body
    (excl::time-a-funcall #'excl::time-report *trace-output*
                    #'(lambda () ,form))))

See Compiling individual forms or groups of forms in compiling.htm.


Copyright (c) 1998-2015, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 8.2. This page is new in the 8.2 release.
Created 2010.1.21.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
This page is new in 8.2.