Re: different extension styles (local vs global vs invisible)

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.

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 04:05:11 UTC