On 10/25/07, Jay R. Ashworth <jra(a)baylink.com> wrote:
I'd like to recommend that anyone who thinks aliases are a Pretty Neat
Idea go locate some coverage of the Come From statement in the
programming language Intercal, and muse upon the potential
similarities.
Heh, the thought occurred to me too. However, in Intercal, the chaos
arises from a
program in execution unexpectedly and suddenly leaping from
any point in the code to an arbitrary and
unconnected function. In this proposal, the leaping always takes
place at exactly the same point: when a user has entered a query, and
that query has not
matched the name of an actual page in the database.
Then again, I hadn't thought through the behaviour of what happens when you
[[link]] to an aliased term. Logically the behaviour ought to be:
- If a real page exists, link to that
- Otherwise, if a single alias matches, link to that.
- Otherwise, link to an automatic disambiguation page.
This actually presents a few complexities, as links themselves are stored in
a links table, and would have to be updated if the aliases change. It's also
not clear whether the third case above should be a red or blue link.
Similarly, if a user links to [[John X Smith]], but the actual page is
[[John Xavier Smith]] with an alias, what should happen exactly?
Some other issues that also occur to me:
- does template transclusion work on an alias? If not, why not?
- does it work in other namespaces? Which namespace does the alias apply
in? Does this mean that [[Wikipedia:What Wikipedia is not]] cannot have a
line like #ALIASES WP:NOT ? If aliases are applied in the main namespace,
how do we stop people using them in user pages etc?
Suggestions welcome.
Steve