inlined-generic-function

API Reference

inlined-generic-function

MOP implementation of the fast inlinable generic functions dispatched in compile-time

INLINED-GENERIC-FUNCTION

  • Class INLINED-GENERIC-FUNCTION  (STANDARD-GENERIC-FUNCTION)
    A metaobject representing inlinable generic function.
    No slots.
  • Class INLINED-METHOD  (STANDARD-METHOD)
    A metaobject representing inlinable method.
    LAMBDA-EXPRESSION   Accessor: METHOD-LAMBDA-EXPRESSION
    original lambda expression w/o decoration e.g. call-next-method
    LAMBDA-EXPRESSION*   Accessor: METHOD-LAMBDA-EXPRESSION*
    Cached result of make-method-lambda
  • Function INLINE-GENERIC-FUNCTION (whole &optional env)
    Returns an inlined form which is equivalent to calling the generic function.
  • Function INVALID-BRANCH (&optional (message "consider e.g. adding type restriction, check for infinite loop/recursion"))
    This function mark a specific part of the code to be invalid. It MUST NOT be used in a valid code. On supported implementations (currently SBCL only), the compiler signals a warning,style-warning or error (depending on the value of *INVALID-BRANCH-WARNING-LEVEL*) when the compiler fails to eliminiate it as a dead-code. This is useful to detect a specific kind of errors, e.g. type errors, infinite loops, infinite recursion and so on. When it happens, you should fix the code, add a type restriction etc. in order to make it compile. On unsupported implementations, this function has no compile-time effect and just signals an error. Supported implementations: SBCL: This feature is tested against all patch versions in the latest minor version, as well as the most recent patches in the past two minor versions.

INLINED-GENERIC-FUNCTION.IMPL

  • Variable *INVALID-BRANCH-WARNING-LEVEL*
    'warn
    A flag controlling the level of compile-time warning signaled when compiling a call to INVALID-BRANCH. This does not affect the behavior of INVALID-BRANCH, which always signals an error.