See also: IRC log
Meeting for December 26th has been cancelled;
ACTION 194 (on ChrisW) to update people with multiple actions has been closed.
<ChrisW> RESOLVED: Accept minutes of 12/12 telecon
Minutes of December 12 have been accepted
Amendment to agenda: We will not discuss issue 12, since Dave (Reynolds) is not here.
That will be moved to the next meeting.
ACTION 201 on Sandro to set up web page for registration: continued
<Allen> no
III: No actions; no news
IV: Technical Design
csma: Any discussion on use of constraints in RIF?
ChrisW: (to Harold and Michael) Did Hassan's paper clear up the confusion?
Harold: little confusion about CLPs.
cmsa: Alex and Dave were concerned about CLPs, but they are not present at this call.
csma: Continuing to slotted syntax ...
hassan: There's not much contention on
uses of constraints.
... The idea is not to impose the CLP scheme, but the idea of using
constraints to abstract data.
...There are two orthogonal dismensions: rules, and the data they work
on.
cmsa: What is the connection to the black boxes discussed at f2f?
Harold: They can be handled by the same mechanism.
Hassan: constraints used for pattern matching, is the mechanism for binding variables
ChrisW: Isn't using too much unspecified and relying on external calls a form of cheating?
Hassan: No --- won't be unspecified.
csma: The objection is to the phrase "external call."
Hassan: But one can use a logical system for solving constraints.
<Harold> Basic semantics of an external call: map current substitution (binding environment) to a new substitution (indicating success) or to failure.
<FrankMcCabe> +q
Hassan: Unifying is the external
call: external to the CLP engine.
... One shouldn't take the term "external call" too literally; it just means
that two things are independent.
csma: To avoid confusion, change the term "external call."
Michael: I have a question about
the extensibility of CLP schema
... (to Hassan): How does the CLP scheme extend to negation as
failure (NAF), for example?
Hassan: It can be extended to handle NAF
csma: How does the scheme extend to production rules?
Hassan: It's hard to extend to
production rules --- since we don't have a complete operational
semantics.
... In general, if it can be expressed in LP, it can be expressed in CLP.
Michael: But: is there a
model-theoretic characterization for constraint stable models
as there is for stable models in LP?
... That is, we want stable semantics or well-founded semantics for
CLP.
Hassan: I have to look up the issue to formalize the question, see if it has been addressed, and see if it satisfies Michael's requirements
<Zakim> GaryHallmark, you wanted to ask whether constraints = prolog built-ins
Gary: Are Prolog built-ins equal to constraints? Are they equal to predicates?
Hassan: Prolog built-ins are black boxes; they can be viewed as contraints.
<igor> in Prolog, term unification=constraints
csma: If one of the & (?) in the RIF is doing Prolog, and another is doing something else, what do we have; where do we stand?
hassan: The encoder makes the decision.
<Harold> Christian, we could say that an "external call" need not be a "foreign call": "External" in the sense of "normally independent of RIF", although in special cases it can coincide with RIF. "Foreign" in the sense of "software entirely outside of RIF".
<ChrisW> Polo, who are you?
csma: How do you decide what goes
into constraints and what goes into conditions, if your
language doesn't have this distinction?
... This question is not just for production rules.
Gary: Prolog built-ins can have side effects; in production rules, these would have to be implemented in the action part.
Hassan: In this scheme, putting things on the right does not say anything about execution order.
<Harold> Gary is referring to http://www.w3.org/2005/rules/wg/wiki/CORE/Rules/Horn, SYNTAX, Example 3b'.
Hassan: Gary's example is outside the scheme.
<ChrisW> uh oh
csma: But how would the implementer know what to do for an arbitrary rule language?
Hassan: Normative syntax should be constraint syntax.
<FRancois> Yes, it is.
<AxelPolleres> hmmm.
<Hassan> hmmm?
Frank: It's not that clear; some
people use rules to implement constraints.
... The distinction between normal rules and
constraint rule can be subtle.
<AxelPolleres> I am still unclear where the line between built-ins and constraints lies, but I was a bit distracted, for a moment, sorry.
Frank: The distinction between what's in the constraints and what's in the rules is up to the author.
<Harold> Frank and Hassan, one clear criterion for relations that should go into constraint calls would be decidability. Only decidable relations should become constraints.
Frank: Most often, people have a set of predicates that they choose to call contraints.
Hassan: That's exactly my point!
<GaryHallmark> a Java method can be very fast at solving some kind of constraints, but it only works if some variables are bound. Is this allowed?
<Harold> (Not all decidable relations would need to become constraints, so *efficient* decidability could be a more strict criterion.)
Frank: The whole issue of slotted vs. positional arguments can be viewed in terms of constraints.
Harold: One could have some predefined library of constraints: perhaps built-in libraries that come with RIF.
Hassan: I really like Harold's idea.
<AxelPolleres> +1 to have a list of built-ins.
Harold: There needs to be lots of discussion about which are the right built-ins.
<AxelPolleres> can Xpath/Xquery functions be a starting point?
csma:Built-ins would be on constraints, for efficiency reasons.
<ChrisW> Axel, that is a place for us to look, I think (Xpath/Xquery)
Harold: There is no need to change
semantics for slots.
... change syntax to transform slots into positional
arguments.
<GaryHallmark> URL?
Harold:(This is on wiki Core)
... positive conditions --- syntactic
transformations
Harold: details about the transformation ...
<Hassan> Where is this on the wiki?
Harold: It all can be implemented nicely using Hassan's CLP.
http://www.w3.org/2005/rules/wg/wiki/CORE/Conditions/Positive
csma: Can you do the transformation in the other direction as well?
Harold: (to csma) Yes.
Frank: I'm confused about the bottom (false)
element.
... Slotted to positional; you would expect missing slots to
map to any variable.
Hassan: Yes, it should map to top element.
Harold: It depends on the semantics. For a minimalistic semantics: yes.
<Hassan> Then what does bottom denote? It denotes constraint failure to me!
Harold: Bottom denotes a variable that doesn't bind to anything.
Hassan: No, that's not the
semantics for bottom.
... It's the semantics for top, not bottom!
<FRancois> Sorry, friends, I must go.
Hassan: This is a very strange
version of extensible records of functional programming
... This was suggested nearly 20 years ago, by Mitchell Wand in a LICS 1987 paper
("Complete Type Inference for Simple Objects")
... Why do this? It can be much more simply handled.
<AxelPolleres> Can we wrap this up and move it to the list?
csma: We can't solve this now. Can Harold's version on the wiki be modified?
ChrisW: The point of Harold's document was that there be no rest variables.
<PaulaP> I wish you relaxed holidays!
Hassan: But this can be solved much more simply. We don't need extensible variables!
<PaulaP> bye
ChrisW: (to Hassan) I'm unclear about your position on signatures.
Hassan: Yes, you do need signatures.
ChrisW: For Hassan, signatures are a way of solving the problem.
Harold: We want to do this
statically.
... We don't want constraints in condition part.
<FrankMcCabe> you can achieve the same effect by mapping f(a=1,b=2) to f/2(1,2)
csma: Hassan, please go to Harold's wiki page and suggest ways of modifying it.
Hassan: My paper already explains it.
csma: A paper is not the same as a RIF document/proposal.
Hassan: All right, one more try.
There's too much workload to persist in this.
... But I'm taking no new actions until January.
<Harold> Right, "Point of Harold's document was that there be no rest variables (check this)": No rest variables (no 'subsumption' or 'open-slot' semantics) to avoid the problem we had after F2F4, namely that, e.g., p(a,b) would be 'equal' to p(a) through the shortcut of p{1->a,2->b} being equal to p{1->a}.
csma: Let's move to production rules.
Gary: Trying to clarify interaction with the rules system --- no straightforward way to transform LP rule to production system.
<Hassan> As Harold wrote it in one email, transforming top-down to bottom-up rule evaluation
ChrisW: Suggestion from Gary: pragmas in the translation.
<Hassan> is done with Magic sets
<sandro> [ I'm deeply sorry -- I had to step out of the meeting there to handle an urgent personal matter. ]
csma: Pragmas related to RIF processing models?
<sandro> [ back now, though ]
<AxelPolleres> MAgic sets are an optimization method for "emulating" top-down wthin bottom-up evaluation of rule sets
<Harold> I wonder about Francois' SATCHMO, ... experience here (top-down plus bottom-up).
ChrisW (to csma): Could be.
Frank: Does Chris mean that pragmas should capture operational semantics of the rules?
Chris: I have to think about this more.
csma: We need examples.
<AxelPolleres> -1
Frank: One can't capture the essence of rules if operational semantics is ignored.
<AxelPolleres> to that operational semantics is essential in all cases.
csma: The discussion probably needs to be put back on the mailing list.
<Hassan> Yes, but how many "pure" such language vs. "dirty" rule langues?
Axel: I was disagreeing that an operational semantics is always essential. After all, one can have a model theoretic semantics.
ACTION 188 closed
<AxelPolleres> please post the URIs again in the minutes to these actions to have a hook here.
ACTIONS 156, 157, 159, 160 all continued
<AxelPolleres> bye
<Hassan> +1 to adjourn
<Hassan> Happy many things