Function Entry: CLAL-COMPILE

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

Function Entry: CLAL-COMPILE

Name

clal-compile

Class

clautolisp Extension Function

Syntax

(clal-compile name lambda-expression)

Arguments and Values

  • namenil (anonymous) or a symbol naming the function.
  • lambda-expression — a (lambda lambda-list . body) form.

Description

Compile lambda-expression into an applicable function object (debugger public interface, Part A — the compiled-eval core), weaving its instrumented fork when the current clal-optimization has DEBUG > 0.

Return Values

The compiled function object (a usubr).

Side Effects

Builds a function object; when DEBUG > 0 and the instrument hook is installed, instruments it (errors from instrumentation are ignored).

Affected By

  • The current clal-optimization DEBUG level.
  • Whether the runtime instrument-usubr hook is installed.

Exceptional Situations

Signals :bad-argument when lambda-expression is not a (lambda …) form, or when name is neither nil nor a symbol.

Examples

(setq sq (clal-compile 'sq '(lambda (x) (* x x))))
(sq 9)
=> 81

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).