title: CLIPS and integration with C++
body: <p>I am in the process of developing a fairly complex rules engine. So I decided to take help of any GNU rules engine and get it integrated with my application. I came across <a href="http://en.wikipedia.org/wiki/CLIPS" rel="noreferrer">CLIPS</a> as a good rules engine.  </p>
  
  <p>Now, My application is in C++ and I want a sample way (a Hello world kind of program) from which I can learn how to integrate the .clp rules engine to my C++ application.</p>
  
  <p><strong>Question</strong></p>
  
  <ol>
  <li>My application is developed on Linux/AIX/HP and Mingw (for windows). Can we develop rules engine in CLIPS and get it integrated to C++ application on all these platforms? Can you please share a link on how to integrate.</li>
  <li>The fundamental reason for going into an rules engine is that, I have experienced that rules "built" within my C/C++ application takes huge memory/CPU. I am under the impression that by using a rules engine, I can achieve the same in a more optimized (better resource utilization) way. Can CLIPS help me achieve that?</li>
  </ol>
  
  <hr>
  
  <p><strong>Update 1:</strong>  </p>
  
  <ul>
  <li><p>What kind of application are you developing?<br>
  To put it in a line,I am developing a filter match based counter. User may increment (NetworkID=XYZ, Increment count = 7), (NetworkID = MNO, Increment count=934)... etc. Now you get a query for NetworkID=X*, then I need to provide all count from XAA...XZZ. It is updated in multiple process, multiple thread across different node (distributed environment).</p></li>
  <li><p>Why do you have expert system rules inside, and what kind of rules?<br>
  Now, My platform/application is in C++ (where user does increment/decrement/query). Now I want to use a rules engine to aid me in these. Writing the logic in C/C++ code seems to kill more resource that needed.  </p></li>
  </ul>
  
  <p>PS: The critical code related to increment/decrement/query are all in optimized c code. Some wrappers are in C++ code. So I am checking for rules engine to do it for me which can be invoked from my platform/application (in C/C++ code).</p>