Next: Macro protection, Previous: Variable arguments, Up: Macro features [Contents][Index]
ANSI C does not permit recursive macros (for good reason). Thus, in the example
@m recurse recurse
the identifier recurse
simply expands as ‘recurse
’, not as
an infinite loop. However, in FWEB recursion may be useful in
conjunction with some of the built-in functions
(see Built-in functions). To permit a macro to be recursive, say ‘@m*’.
No formal support is provided for recursive macros! If they don’t work, or suddenly stop working in a new release, you’re on your own!