- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 23 Oct 2007 01:43:34 -0400
- To: "Sandro Hawke" <sandro@w3.org>
- Cc: public-rif-wg@w3.org
>
> kifer@cs.sunysb.edu (Michael Kifer) writes:
> >
> > I do not know what you mean by a "global flag".
>
> I mean a syntactic element (such as a special child element of the root)
> whose sole purpose is to indicate that a particular extension is in use.
>
> > The dialect name indicates
> > what the semantics is. It is not on a per-construct basis, but per-dialect.
>
> My suggestion continues to be that the dialect name must not be used
> like that. It's purely for diagnostics and has no semantics.
>
> Otherwise, you don't have independence of extensions, you just have
> multiple languages. With independence of extensions (either with option
> 1 or option 2, below), and BLD extensions (say) for SMNAF, WFNAF, Neg,
> Lists, conjunction-in-the-head, and OO-Semantics, you get six
> extensions you can use or not use, instead of 63 new dialects.
OK. I am not sure that it is possible to realize this program, but then my
example would be something like
BLD + NonmonInheritance
So, in BLD, a#b and b[foo->bar] do not imply a[foo->bar] while in
BLD + NonmonInheritance they do.
--michael
> I'm trying to turn
> http://www.w3.org/2005/rules/wg/wiki/Arch/Extensibility_Design_Choices
> into a basis for a productive discussion here, some in this telecon, and
> more at the F2F. Christian tells me it needs examples, and I'm sure
> he's right. Other suggestions are welcome.
>
> -- Sandro
>
>
> > You can say that the dialect name is such a global flag. There is no any
> > out-of-bound communication either on a per dialect basis or on a
> > per construct basis.
>
>
> >
> > --michael
> >
> >
> > > > I think rdfs:subclassOf or rdfs:type can be extended.
> > >
> > > I think there's a design choice here. It can be made on a case-by-case
> > > basis with each extension, but I think the right choice is probably the
> > > same almost all the time.
> > >
> > > You have some bit of the language, say, ##, and you want to have it mean
> > > something different, as you've said [1]. I see three approaches:
> > >
> > > Option 1: When you want the different meaning, use a different token,
> > > like rif:subclass2 or ### or whatever. (Let's call this a
> > > "local extension")
> > >
> > > Option 2: You use the same token (rif:subclass or ##) and add a flag
> > > somewhere else in the document to indicate it has a
> > > different meaning. ("Global extension")
> > >
> > > Option 3: You use the same token, and tell people out-of-band that
> > > you mean it in a different sense. ("Invisible
> > > extension".)
> > >
> > > My sense right now is that option 3 is just plain bad, and that option 1
> > > is better than option 2 because it's less prone to misunderstanding and
> > > makes it easier to merge rulesets -- it lets you use both rif:subclass
> > > and rif:subclass2 in the same document.
> > >
> > > -- Sandro
> > >
> > > [1] http://lists.w3.org/Archives/Public/public-rif-wg/2007Oct/0094
> > > (Which, honestly, I don't understand -- it seems like you're
> > > conflating properties of classes with properties of instances of
> > > those classes -- but that's probably not related to the extension
> > > question.)
> > >
> > >
> >
> >
>
Received on Tuesday, 23 October 2007 05:43:44 UTC