HELP SEQUENCE-COMPILER-MACROS John Williams, Jul 1995 This file documents the SEQUENCE-COMPILER-MACROS module, which you can load by giving the command: (require :sequence-compiler-macros) It defines compiler macros on the following sequence functions: remove remove-if remove-if-not delete delete-if delete-if-not These compiler macros ensure that more efficient code is generated for calls to these functions, provided that no keyword arguments, or only the :key and/or :test keyword arguments, are included in the call. (Otherwise the standard version of the function is used). So, for example, after loading the SEQUENCE-COMPILER-MACROS module, the compiler would replace the function call: (remove-if #'numberp my-symbol-list :key #'symbol-value) with code something like: (system::simple-remove-if #'(lambda (#1=#:arg) (funcall #'numberp (funcall #'symbol-value #1#))) my-symbol-list) The code produced by these compiler macros executes roughly twice as fast as the standard functions. --- C.all/lisp/help/sequence-compiler-macros --- Copyright University of Sussex 1995. All rights reserved.