Next: , Previous: , Up: Macro features   [Contents][Index]


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!