Speaking of Prolog, I often run into situations where I would love to have some semi-dialect of prolog available at runtime (ie: use regexes for simple string problems, use prologexes for simple logic problems).
Are you aware of any prolog-like languages that integrate well with other programming languages?
I don't know of any (outside of semi-toy Prologs in _On Lisp_ and PAIP), but writing a Prolog dialect designed for embedding (in a similar manner to Lua) is near the top of my list of future projects. Prolog can be really awkward for some things (most notably IO / side effects), but for certain problems, its approach is an excellent fit.
Constraint programming (often bundled with Prolog) also deserve far more attention, IMHO.
I'm reading Guido Tack's thesis now, actually, trying to get a better sense of how constraint systems are implemented.
SWI is my usual Prolog runtime, but I haven't tried running it embedded. I really like Lua's design principle of, "The language doesn't handle this particular thing well, but since it's embedded, it doesn't need to - keep the language small". A mini-Prolog could focus on what it does best, have a simple C API, and leave the rest to the surrounding language.
Are you aware of any prolog-like languages that integrate well with other programming languages?