- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Tue, 21 Nov 2006 15:59:08 +0100
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: "cawelty@frontiernet.net" <cawelty@frontiernet.net>, "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>, RIF WG <public-rif-wg@w3.org>
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