At the suggestion of Dr. Kac from the Philosophy Department, I downloaded the source code for JLog today, which is a Java-based Prolog interpreter. I was able to spelunk its architecture and look around for how it manages grammatical structures in its interpreter. I was hoping to derive some insight in how to differentiate the API terms for an imperative language structure dedicated to controlling the flow of action and change in a computer system, from a more propositional language structure dedicated to analysis of the flow control logic itself.
I intend to support these two sentence types in the same logic core:
- An imperative type which initiates change in the system as a result of a specific anticipated state of conditions, and
- A propositional type which analyses the structure of and relationships between both the state of conditions in the system and the imperative sentences created by the knowledge experts.
In order to do this, I'm building a Lexicon, and while I draw the line far from finding the quiddity of these terms, I do want to assemble enough nouns to allow myself to be both expressive and correct in the core APIs.