3 ms·
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 nea
by silentbicycle 16y ago
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.
- copper 16y agoFor CP, GECODE is C++, which makes it very easy to bundle /if/ you're writing in that language. SWI-Prolog can be used embedded - but I haven't any experience with the results.
- silentbicycle 16y agoI'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.