I'm glad to see the design of the knowledge base language is aware of context (here called a domain). This is better than other systems, like what is used to parse / dump data from Wikipedia, where the context is basically "the real world right now". However, it doesn't seem like they wanted systems to be able to use and switch between domains easily, nor be able to backtrack (where you have inferred some knowledge, and you are trying to figure out what domain(s) you should be operating inside).<p>Contextual reasoning is very important for many situations, because time is one of the most important contexts. You can have a fact like "the iPhone is the best selling phone". This fact is true or false based on the context. It is definitely false in the real world year 2006 and before, because the first iPhone was not released yet. While the fact may be true right now in a global context, if we are talking about a specific country or region, it may be false. For example, I would expect that satellite-capable phones may be more popular in a highly remote (non-urban) country or region.
I've read the entire landing page and I'm still not sure what IDP is or does. Which, to be fair, is a common failure pattern with many landing pages.
I read through the syntax tutorial, and based on that alone I'm guessing this thing would be a huge pain to work with. The operators `=<`, `<=`, `>=`, and `=>` are easily confusable/typo-able, and I have to imagine the for-all operator is `!` only because someone had already decided to use `?` for there-exists, since who in their right mind would use a `!` prefix to mean anything other than boolean negation?