Re: [TED] CORE Pages on Positive Conditions and Horn Rules Edited: Slots & Constraints

Michael Kifer wrote:
> 
> But you don't want to program in assembler.

You don't want to write rules in RIF either :-)
(Oh, ok; we did not make a decision re human-friendly syntax yet)

What I miss in the revisited CORE is the "single syntax, multiple 
dialects" idea that we agreed on at F2F4 (although we did not go as far 
as passing a formal resolution).

I would expect the RIF specification to be organised in consequence, 
something like:
1. first define what is the abstract syntax of a rule and a ruleset (not 
in a specific dialect, but in RIF - an ontology of a rule and of a 
ruleset, as it has been called in the discussion about asn06), in terms 
of the top elements of the RIF Logical Expression language (I am not 
sure that it is "logical" in all its extensions, but that gives a nice 
RIFLE), at least the part that we need for CORE; (*)
2. then the abstract syntax of the said RIFLE, at least the part that we 
need for CORE;
3. then the specification of Phase 1 dialects, that is, currently, CORE, 
in terms of the above.

Since item 1 and 2 can be specified only as far as we know what we need 
for CORE, we have to be careful wrt extensions points, e.g. not 
specifying that a rule has a head that is an atom, but rather something 
like: a rule has a consequent (or conclusion, or RHS, or whatever we 
decide to call it) that is a RIFLE expression (and, then, when 
specifying CORE, we can say that the only expressions allowed in the 
consequent in the CORE dialect are atoms; we may also want to allow the 
consequent to be named "head" in CORE; etc).

Re slotted VS positional arg, constraint VS non constraint notation etc, 
MichaelK wrote:
> Note that both syntaxes are syntactic sugars of each other.
> What we had in mind (and I hope Hasan, too) that the syntax will allow
> users to choose what they want.

Right,but the top level abstract syntax must be in terms of the most 
easily extended, rather than the most usable ones. That is, the 
syntactic sugar must be added in the dialects as needed to make it 
easier for the users.

(*) Btw, I think we agreed that the basic parts in a rule (ontology) are:
- the variable declarations and quantifications;
- the constraints on the variables;
- the antecedent;
- the consequent.
(then, we may decide to have shorthands; like, implicit variable 
declarations and constraints in CORE).

Christian

Received on Tuesday, 21 November 2006 15:00:11 UTC