- 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