I refer specifically to predicate logic, somewhat as implemented in PROLOG, but less strictly bound to first-order logic.
PROLOG-techniques offers powerful solutions towards data-analysis, data-mining, problem-solving, etc., but PROLOG's reputation as an exotic toy for AI, expert-systems and research seems to prevent the application of these techniques as mainstream programming tools.
Yet, these techniques allows you to capture in a few lines of code functionality that would typically be implemented over many functions or classes.
I want to seamless integrate the techniques with the existing language (currently using C++).
I'm investigating the application and use of these techniques as part of general programming constructs. I am focusing on making the techniques available in such a way that minimizes the use of recursion, does away with the proneness to endless-looping, and provides its solutions in a single pass. I already have a working proof-of-concept implementation. (PROLOG itself can be seen as a specialization of it, and it is able to execute almost any PROLOG program)
Some of the techniques/applications I am refering to:
- use predicate-logic;
- implement expert-systems (without all the code!);
- (re)structuring or directly use the data to facilitate discovery;
- using sequential datasets directly in analysis ('the data becomes the code');
- more robust error-handling;
- ...
I need to know if having these techniques available as an integrated part of your normal programming language would be generally useful. If so, I want to create an open-source project for it.