Next: , Previous: , Up: Design Choices and Extensions   [Contents][Index]


2.22 Generalized Function Names

Macro: ext:define-function-name-syntax name (var) &body body

Define lists starting with the symbol name as a new extended function name syntax.

body is executed with var bound to an actual function name of that form, and should return two values:

  • A generalized boolean that is true if var is a valid function name.
  • A symbol that can be used as a block name in functions whose name is var. (For some sorts of function names it might make sense to return nil for the block name, or just return one value.)

Users should not define function names starting with a symbol that CMUCL might be using internally. It is therefore advisable to only define new function names starting with a symbol from a user-defined package.

Function: ext:valid-function-name-p name

Returns two values:

  • True if name is a valid function name.
  • A symbol that can be used as a block name in functions whose name is name. This can be nil for some function names.

Next: CLOS, Previous: Lisp Library, Up: Design Choices and Extensions   [Contents][Index]