Re: RIF Core, and how much is PRD allowed to diverge from BLD [Was: Re: [PRD] Issues to resolve before publication]

Mark Proctor wrote:
> 
> If you supported Clips unororded facts (named arguments), except COOL, 
> and made "or" and "forall" optional you would be able to target all the 
> mainstream engines - Jess, Drools, Clips, JRules, OPSJ. It's really that 
> simple.

"Forall" is just a construct to declare rule variables: how can you do 
without it?

> All these engines implement TMS in the same way, but that could 
> be excluded from the base PR dialect, as it's an advanced feature only a 
> few users use.

Yes, I agree: logical facts and truth maintenance are for a future 
version (of this draft, or maybe even of this dialect).

> So I would look to make this subset of Clips my "base" PR 
> dialect. At a later date I would then look to make an advanced addition 
> on this that looked to support "or", "forall", "collect/accumulate" for 
> reason of sets of data, nested accessors, lists/maps, out of working 
> memory data. "collect" is an important one that is supported by Jess, 
> JRules and Drools (don't know about OPSJ) as it's the only efficient way 
> to do cardinality constraints on patterns, and users really struggle 
> without it. Jess supports collect via accumulate, accumulate is actually 
> far more powerful and generic and collect is a specialised accumulate 
> implementation.

Yes. I proposed "collect" in the very first proto-draft, and a more 
general aggregation construct in the second one, but we decided to keep 
that for later, as they were only half-backed trials (to say the least :-)

Christian

Received on Tuesday, 1 July 2008 13:18:30 UTC