This package contains some basic macro definitions used in Femlisp.
Anaphoric macro on the symbol _ which allows to express a chain of operations.
Short form for defining an inlined function. It should probably be deprecated, because it won't be recognized by default by some IDEs. Better use the inlining macro directly.
Ensures that some place is set. It expands as follows:
(ensure place value) ==> (or place (setf place value))It is not clear if the implementation used here works everywhere. If not, the workaround below should be used.
Declaims the following definitions inline together with executing them.
Loops for var being an integer vector starting from start upto end. Example:
(multi-for (x #(1 1) #(3 3)) (princ x) (terpri))
Removes the method for the generic function gf-name which is specified by qualifiers and specializers. Example:
(remove-this-method m* :before ((mat <matrix>) (x <vector>)))It should be possible to use this directly on a copied first line of a DEFMETHOD definition.
Like SYMBOL-MACROLET but evaluate subforms just once up front.
This function builds a symbol from its arguments and interns it. This is used in some macros.
Own implementation of the macro
whereassuggested by Erik Naggum (c.l.l., 4.12.2002).
Improved version of a macro posted in cll by ?. A similar but more restricted macro was posted by KMP at 8.5.2007 under the name 'array-access'.
Standard macro providing the freshly generated symbols syms to the code in body.