Next: Package FL.DEBUG, Previous: Package FL.UTILITIES, Up: Reference manual [Contents][Index]
This package contains some basic macro definitions used in Femlisp.
A macro returning the first of its arguments.
A macro returning the second of its arguments.
A macro returning the third of its arguments.
A macro returning the fourth of its arguments.
A macro returning the fifth of its arguments.
A macro returning the sixth of its arguments.
Anaphoric macro from (Graham 1993).
Anaphoric macro from (Graham 1993).
Anaphoric IF macro by Paul Graham. Keeps the value of the test-form in the variable named IT to be used in the then-branch.
Anaphoric macro from (Graham 1993).
Posted to cll by Kenny Tilton 22.4.2007.
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.
Delets item from sequence destructively.
Posted to cll at 17.10.2006 by Kenny Tilton.
Essentially (or place (setf place newval)). Posted by Erling Alf to c.l.l. on 11.8.2004, implementing an idea of myself posted on c.l.l. on 30 Jul 2004 in a probably more ANSI conforming way.
Sets temporary bindings.
An analog to case using test as comparison.
Declaims the following definitions inline together with executing them.
A let
-construct which returns its last binding.
A let*
-construct which returns its last binding.
Special case of multi-for
. Loops starting from a zero-vector to stop.
Examples:
(multi-dotimes (x #(3 3)) (princ x) (terpri))
Loops for var being an integer vector starting from start upto stop. Examples:
(multi-for (x #(1 1) #(3 3)) (princ x) (terpri)) (multi-for (x #(1 1) #(3 3) :from-end t) (princ x) (terpri))
Defines multiple generic functions at once. Usually, this will only be used for helper functions.
Implements the named-let construct from Scheme.
Slightly modified macro taken from <http://groups.google.com/comp.lang.lisp/msg/2a92ad69a8185866>.
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.
Wraps a function object inside a trace form.
An analog to case using string comparison.
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 whereas
suggested 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.
Easy definition of anonymous small functions. Arguments are ’_’, ’_1’, ..., ’_5’.
Macro from (Graham 1993). Turns the operator op into a
modifying form, e.g. (_f + a b) ≡ (incf a b)
.
Next: Package FL.DEBUG, Previous: Package FL.UTILITIES, Up: Reference manual [Contents][Index]