On Thursday 17 April 2008 15:16:53 Michael G Schwern wrote:

> chromatic wrote:

> > That's my suggestion.  Figure out the minimal set of keys that we expect
> > to use in the near future and reserve those.  Document them.  Suggest
> > that we might add more keys later, if there's a rough consensus and
> > working code. Don't forbid people from adding their own keys, but
> > recommend that they bring them up for public discussion.

> That's the plan.  Official keys will be formalizations of what users do out
> in the real world.  In most cases hopefully just a down-casing.

That part I don't mind.

> We'd like folks to be able to add their own keys as they need without first
> wondering whether it might be useful for others or worrying if we might add
> a key of the same name, but different functionality, later.  Thus the
> separation of local from official keys.

This part I think will not work.  You can't pave the cow paths if you never 
see the pasture, and you can't not break the DarkPAN because the only way to 
know if the DarkPAN even exists is to see if light bends in its vicinity.

Worse, if you make the argument that name collisions are bad, because you 
can't determine programmatically the semantics of a key from the surrounding 
TAP document (and I don't mind this argument; it's a designing principle of 
Roles in Perl 6 for example) as the reason why TAP keys need a separate 
namespace from user-defined keys, you've just moved the problem somewhere 
else.

To wit: what if I use multiple producers/consumers which produce false cognate 
keys?

Solution one: don't try, at least for the general case.  There's TAP keys and 
there's everything else, and if everything else doesn't play together nicely, 
them's the breaks.  You get both pieces.

Solution two: tag every key with an organizational prefix.  This includes TAP 
keys.  Any non-prefixed key is invalid.

Can we enforce solution two?  Not entirely; only as far as producers and 
consumers agree roughly on a version of the TAP spec.  Further, we're pushing 
the namespacing problem in a different direction.  Organizational names may 
conflict.  However, they're less likely to have the false cognate problem.

-- c

Reply via email to