Exotic Programming Ideas
You can’t mention logic programming without talking about the one most folks have interacted with: make.<p>Facts are files and rules are rules.  Make will explore deep chains of rules to find a path to building the targets.<p>I once (ab)used make so that the mere inclusion of a non-existent header would autogenerate it from a series of different templates combining human-readable structures, marshaling it into binary, then converting it into something a C compiler can read.  Importantly, the process was recursive, as the source for a template might have to go through transformation itself.<p>The key is I never taught make about the whole process.  Each individual step in the process is a rule that transforms from one file extension to another.  Make automatically searches for a path through the rules, even 9 or 10 deep.