Next: , Previous: Variable arguments, Up: Macro features


7.2.1.2 Recursion

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!