"David Gerard" <dgerard(a)gmail.com> wrote in
message news:fbad4e140609120944j4ba1fa90xc002f99d56ad512f@mail.gmail.com...
On 12/09/06, Timwi <timwi(a)gmx.net> wrote:
Thus, even in wiki syntax, a specification must
define what constitutes
"valid" markup, and then define the behaviour for that valid mark-up.
I think you are completely and utterly wrong on this. Every
combination of wikitext has to be able to do something, because it is
a *language*.
As Timwi says, the language specification needs to specify what is valid and
how those valid constructs should be interpreted.
The wiki engine needs to be able to handle all input that is given to it and
interpret the defined constructs according to the language definition. It
may handle undefined constructs in any way it likes (though it should be
consistent within itself: same input = same output).
The same is true in English. The sentence "I FEELING HAPPY" is invalid
English, according to the language, but would be understood by an English
speaker (the interpreter):
The markup "<p><b>This is bold</p>" is invalid HTML, but would
be understood
by a web browser.
Note that in both of these examples there is some ambiguity in how the
invalid phrase could be interpreted (am I feeling one of the seven dwarves?)
but that the correct interpretation is also the most likely, so the
interpreter is able to guess. This is why 'pigeon english' or 'tag soup',
despite being technically incorrect, are usable in practice.
However, it is incorrect to assume that a language must be unambiguous. For
example if I say 'I hate annoying people', do I dislike making people
annoyed, or do I dislike people who irritate me?
- Mark Clements (HappyDog)