- From: <stan.devitt@agfa.com>
- Date: Fri, 24 Jun 2005 09:48:39 -0400
- To: syosi@MIT.EDU
- Cc: connolly@w3.org, EspeonEefi <eefi@MIT.EDU>, "Eric Prud'hommeaux" <eric@w3.org>, public-cwm-bugs@w3.org
Yosi,
The main reason I lump prefixes and keywords together is that both change
the meaning of what is parsed.
I agree fully with your concern about keywords potentially changing the
way the file is parsed, and I'd prefer not
changing the parsing and/or the interpretation half way through the parse
with the following possible
exception, and so I'd prefer a weaker form of keyword and I am leaning
towards a header.
As for scoping, I see it as follows:
1. A formula is very analogous to a file in that it groups a number of
statements together for interpretation in a given context. Thus, it can
be used to encapsulate the information that is normally contained in a
file.
2. This enables a sort of meta-reasoning wherein the parts of a
statement are each equivalent to something that is described by the
contents of a file, but inlined as a formula.
This metareasoning is important for everything from proof results to being
able to build in a modular fasion. For it to work properly.
a) Files and the bodies of formulae must support exactly the same
structure.
b) That structure should include keywords and prefixes in the same way.
c) The scope of the prefixes and keywords should be the file in the case
of a file, and a formula in the case of a formula, with some sort of
nested lexical scoping.
This way, a formula is exactly equivalent to { contents of an n3 file
}.
-----
As for the keywords and prefixes, I get the impression that the keywords
and prefixes are intended for the entire file. In practice at the moment
they may occur outside the header, but always occur before they are used
so it is effectively the same as if they occured in a header (nasty
keyword examples aside).
3. Scoping of keywords and prefixes (by nested formulae) have not
generally been an issue as usually the prefixes and aliases are the same.
----
Thus I am thinking:
A. put the prefixes and keywords in a header.
B. Make sure a formula is exactly equivalent to { contents of an n3
file } (This implies that the prolog of the formula applies just to the
body of the formula.) (We probably want something like nested lexical
scoping so that outer definitions apply unless overridden in an inner
scope.)
C. (a completely separate issue) limit the power of keywords somewhat so
that we can more easily automate the parser and tokenizer generation and
build on existing tools.
Stan.
Yosi Scharf <syosi@MIT.EDU>
06/23/2005 09:21 PM
To: Stan Devitt/AWKCT/CAN/AGFA/CA/BAYER@AGFA
cc: connolly@w3.org, EspeonEefi <eefi@MIT.EDU>, "Eric Prud'hommeaux"
<eric@w3.org>, public-cwm-bugs@w3.org
Subject: Re: string escapes reverted on purpose?
@keywords can quite drastically change the meaning / parseability of a
file. Statements like:
...
The above is an evil file, and should be disallowed. Cwm right now has
no problems with it.
However, I think that @prefix is a file processing detail about the
meanings of certain tokens. It has nothing to do with formulae per se,
so formula scoping makes little sense to me. To allow for redefinitions
of prefixes / prefixes after the header I see little use for, besides
maybe changing what namespace is barenamed, but I also don't see why it
should be disallowed.
Yosi
Received on Friday, 24 June 2005 13:48:58 UTC