Re: Reminder: pending discussion "membership" (pending discussion on ACTION-350)

I agree. I cannot understand why would David want to push an already
completely specified feature to Phase 2. I cannot convince myself that the
reason is technical.

I would continue to call what we have now a BLD (because it really is
basic) and define a datalog profile (BLD-OO) as well as the Core profile.


	--michael  

> I agree with Michael and Dave that frames and #/## go hand in hand.
> However, instead of Dave's suggestion:
> 
> >    Core  -->  BLD  -->  BLD + OO
> >       |
> >       `---->  PRD
> 
> I would suggest defining a BLD profile, BLD-OO:
> 
>    Core  -->  BLD-OO  -->  BLD
>       |
>       `---->  PRD
> 
> > Presumably BLD + OO is pretty much an F-Logic dialect. I suggest that 
> > this is a phase 2 dialect.
> 
> Also, since BLD (with OO) is mostly specified, I would rather keep it in
> phase 1. Defining BLD-OO is then much simpler (as turned out to be with Core).
> 
> Regards,
> Igor
> 
> Dave Reynolds wrote:
> > 
> > Michael Kifer wrote:
> > 
> >> The reason for having # and ## is that if we introduced frames then we
> >> should complete the cycle and define the most basic object-oriented
> >> concepts as first class citizens (at the cost of only a few lines in the
> >> document). Namely, class membership and hierarchies.  This will allow to
> >> round-trip important classes of object-oriented rule-sets.
> >>
> >> What was the reason to include frames if not to allow object-oriented
> >> round-tripping? After all, all these things are syntactic sugars. An
> >> alternative would be to define a bare-bones Datalog and let other people
> >> worry about embedding their languages into Datalog.
> > 
> > I think that is a good basis for reframing the discussion.
> > 
> > Apart from F-logic are there other object-oriented logic rule languages, 
> > and thus a case for RIF supporting inter-operation between them?  If the 
> > answer is yes then I suggest that should be a separate dialect which 
> > would include frames, #/## and presumably the domain/range declarations 
> > that Michael previously proposed. We would then have:
> > 
> >    Core  -->  BLD  -->  BLD + OO
> >       |
> >       `---->  PRD
> > 
> > Presumably BLD + OO is pretty much an F-Logic dialect. I suggest that 
> > this is a phase 2 dialect.
> > 
> > The question then is whether frames are needed in Core or in BLD or 
> > whether, given Michael's argument that it makes little sense to have 
> > them on their own, it would be better to remove them.
> > 
> > Currently frames are used as the basis of the RDF embedding. This is 
> > simply syntactic sugar and we could drop frames and introduce a three 
> > place predicate rif:frame(s, p, o) for the RDF embedding to use instead.
> > 
> > One question would then be what parts of the OO extension are needed in 
> > PRD. Does PRD need frames or would a simple predicate suffice?
> > 
> > 
> > As an aside I think this example highlights a problem we have with our 
> > linear notion of extension. The OO extension is just one example of a 
> > component which might be wanted in multiple dialects. An extensibility 
> > notion that is more like "mixins" than "extensions" might be better - 
> > but not in the remaining time!
> > 
> > Dave
> 
> 
> 

Received on Tuesday, 11 December 2007 16:20:01 UTC