Function Entry: CLAL-OPTIMIZE

← Prev | ↑ Chapter | Next → | Index | Symbols

Function Entry: CLAL-OPTIMIZE

Name

clal-optimize

Class

clautolisp Extension Function

Syntax

(clal-optimize qualities)

Arguments and Values

  • qualities — a proper list; each element is a bare quality symbol (DEBUG / SPACE / SPEED, meaning level 3) or a list (SYMBOL LEVEL) with LEVEL an integer 0..3.

Description

Set the optimization qualities (debugger public interface, Part A). Unmentioned qualities keep their current level. SPEED is always forced to 0 (Tier 2, no compiler-to-CL yet). Setting DEBUG also drives the runtime instrumentation gate: DEBUG > 0 weaves instrumented forks under a session, DEBUG 0 runs plain.

Return Values

The new qualities as ((DEBUG n) (SPACE n) (SPEED n)).

Side Effects

Updates the process-wide optimization alist and the runtime instrumentation-enabled flag.

Affected By

  • The previous clal-optimize setting (unmentioned qualities are preserved).

Exceptional Situations

Signals :bad-argument on an element that is neither a quality symbol nor (SYMBOL LEVEL), on an unknown quality name, or on a level outside 0..3. Signals from require-proper-list when qualities is not a proper list.

Examples

(clal-optimize '((debug 0) space))
=> ((DEBUG 0) (SPACE 3) (SPEED 0))

Availability

  • clautolisp: documented (this entry); implemented since an earlier clautolisp release.
  • AutoCAD: NOT present.
  • BricsCAD: NOT present.

Source Notes

  • clautolisp-only extension; see the debugger-public-interface issue (Part A).