For general talk about recursion, the TiddlyWiki macro recursion I’ve done in BASIC Anywhere Machine is way too complicated a beast for casual consumption. (That recursion is for handling multi-tiddler inclusion of BASIC code, making sure to not duplicate any inclusions when many tiddlers in the inclusion tree are including the same tiddlers. The BASIC interpreter does not like duplicate code, so TiddlyWiki comes to the rescue.)
I love recursion and its even more fun in Tiddlywiki because the inputs and conditions are the same thing, the “filters” and unless you “stuff up” filters outputs are finite so you do not need to concern yourself with the termination conditions such as WHILE and WEND loops.
A good solution using recursion, especially in tiddlywiki, once completed, looks deceptively simple, clean and short. And is of course very good, if not essential for iterating all elements of deep structure’s, eg a TableOfContents - just don’t swallow your tail
Ahh, Homoiconicity, that’s why I love recursion in LISP-like languages!
Nothing deceptive about it. If your data structure is recursive, a recursive technique will nearly always be more natural and more elegant. In these cases it’s iterative techniques that are deceptively complex!
I am a career OpenText Gupta Team Developer (aka Gupta SQLWindows) programmer. That’s been my bread and butter since 1995. That’s my favourite kind of programming language since 1993.
SQL programming is right up there.
For hobby programming, TiddlyWiki programming is the bomb.
I did line number basic back on the TRS-80, in maybe 1978 or 1979, Have barely touched it since, except for a few stints with VBA.
I’m more of an FP guy and love various LISPS. I admire Haskell, but mostly from afar. And my day job – while it touches C#, Python, Java, and occasional SQL – is mostly JavaScript, client and server side.