Next: , Previous: Package FL.UTILITIES, Up: Reference manual


6.2 Package FL.MACROS

This package contains some basic macro definitions used in Femlisp.

— Macro: ?1 &REST ARGS

A macro returning the first of its arguments.

— Macro: ?2 &REST ARGS

A macro returning the second of its arguments.

— Macro: ?3 &REST ARGS

A macro returning the third of its arguments.

— Macro: AAND &REST ARGS

Anaphoric macro from (Graham 1993).

— Macro: ACOND &REST CLAUSES

Anaphoric macro from (Graham 1993).

— Macro: AWHEN TEST-FORM &BODY BODY

Anaphoric macro from (Graham 1993).

— Macro: DEFINLINE NAME &REST REST

Short form for defining an inlined function. It should probably be deprecated, because it won't be recognized by default by editors.

— Macro: DELAY FORM

Delays the evaluation of form.

— Macro: ENSURE G137 &REST ARGS &ENVIRONMENT G136

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 the macro definition should be used.

— Macro: FLUID-LET BINDINGS &BODY BODY

Sets temporary bindings.

— Macro: FOR (VAR START END) &BODY BODY

Loops for var from start upto end.

— Macro: FOR< (VAR START END) &BODY BODY

Loops for var from start below end.

— Macro: FORCE DELAYED-FORM

Forces the value of a delayed-form.

— Macro: MULTI-FOR (VAR START STOP) &BODY BODY

Loops for var being an integer vector starting from start upto end. Example:

            (multi-for (x #(1 1) #(3 3)) (princ x) (terpri))
     

— Macro: REMOVE-THIS-METHOD GF-NAME &REST REST

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.

— Macro: SHOW-CALL FUNC &OPTIONAL NAME

Wraps a function object inside a trace form.

— Function: SYMCONC &REST ARGS

This function builds a symbol from its arguments and interns it. This is used in some macros.

— Macro: WHEREAS CLAUSES &REST BODY

Own implementation of the macro whereas suggested by Erik Naggum (c.l.l., 4.12.2002).

— Macro: WITH-GENSYMS SYMS &BODY BODY

Standard macro providing the freshly generated symbols syms to the code in body.

— Macro: _F OP PLACE &REST ARGS

Macro from (Graham 1993). Turns the operator op into a modifying form, e.g. (_f + a b) == (incf a b).