Recursive Macros
marcioAlmada opened this issue · 1 comments
marcioAlmada commented
Since #2, macros became non recursive by default. But It's still desirable to opt in for recursive macros in some edge cases. A ·recursion
tag could be used to enable this behavior, as in:
macro ·recursion { ( T_STRING·A ···rest ) } >> { T_STRING·A( ···rest ) }
(X (Y 1 2 3))
Expands to:
X( Y( 1 2 3 ) )
Whenever this flag is used, it becomes userland responsability to ensure that there is no infinite
recursion going on.
marcioAlmada commented
✅