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.

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