[Logiweb] Curious Logiwiki behavior
Klaus Ebbe Grue
grue at diku.dk
Mon Oct 8 22:05:01 CEST 2007
Hi Robert,
> I am a PhD student in Edinburgh, Scotland who was first introduced to Logiweb
> at MKM '07 [1]. Just this month, I have finally found time to start
> investigating it.
Welcome to the list
> To that end, I have begun to proceed through the tutorials
> at logiweb.eu [2], and have encountered some strange behavior which I am
> unable to duplicate predictably.
> The same problem has appeared twice: After completing the Logiweb Submission
> form [3], I submit the page (with the strings org="hwu" and name="rlamar", if
> it helps) and receive the following error:
>
> --------begin Logiwiki response--------
> Frontend
> Reverse lookup of
> http://logiweb.eu/logiweb/wiki/hwu/rlamar/../../../page/check/latest/vector/page.lgw
> Reverse lookup of
> http://logiweb.eu/logiweb/wiki/hwu/rlamar/../../../page/Peano/latest/vector/page.lgw
> Reverse lookup of
> http://logiweb.eu/logiweb/wiki/hwu/rlamar/../../../page/base/latest/vector/page.lgw
> Frontend: parsing associativity sections
> Frontend: parsing body
Everything until this point looks fine
> ---
>
> \section{Theorem}
> We now state Lemma 3.2l of \cite{Mendelson87}:
> "[ PA lemma 3.2|
> ---
> l : all x : 0 * x = 0 end lemma ]"
> \section{Proof}
> "[ PA proof of 3.2l :
> ---
> File Form input around line 153 char 16:
> No interpretations
> Goodbye
The "No interpretations, Goodbye" error message is one of the most common
error messages from the system, and it can be quite frustrating. Usually,
however, it is easy to locate the problem. The message means that the pyk
compiler (which is the one which generates the Logiwiki response) has
been able to parse everything up to line 153, character 15, but was
unable to parse character 16.
The error message consists of "---" followed by the last characters up to
line 153, character 15, followed by a vertical bar (so possible blanks at
the end of the line become visible) followed by "---" followed by some
line from line 153, character 16 and on, followed by "---" followed by the
error message.
So the compiler could parse
PA proof of 3.2
but could not parse
PA proof of 3.2l
In other words, the compiler knows something whose name starts with 3.2
but does not know something called 3.2l.
Your page references the Peano page which proves lemmas named 3.2a, 3.2b,
and so on, so that explains why the compiler can parse up to "3.2".
But the compiler does not know a construct named "3.2l".
The 3.2l construct is one you are supposed to introduce. To do so, add a
line saying
"" 3.2l
in the first PREASSOCIATIVE section in the upper window on the submission
form. The upper window should contain something like the following:
...
PREASSOCIATIVE
"check" check
"Peano" Peano
"base" base
"" 3.2l
PREASSOCIATIVE
"base" +"
...
where the 3.2l line is one you must type.
The 3.2l line comprises an empty string followed by the 3.2l construct.
The empty string indicates that the 3.2l construct is not imported from
any referenced page but, rather, is a construct you define. Tutorial
T05 gives a systematic treatment of how to introduce constructs.
I think I will just give answers to two obvious questions right ahead:
Q: Why doesn't the compiler give a better error message?
A: It can't. Compilers for languages with a fixed syntax can typically
give very precise error messages like "semicolon expected" or "3.2l
unknown". But the present language has no fixed syntax and that makes it
*extremely* difficult to give a better error message then the above when
something is unparsable. Fortunately, the system can give better error
messages in other situations. See Tutorial T05 for more on the syntax.
Q: Then, why doesn't the website or the tutorial give an explanation like
the one above.
A: That is because of lack of time. Sorry.
> I am sorry that my query is verbose.
That was very helpful. In general, when asking questions, it is good to
have the complete output from the system as well as the input (the
contents of the upper and lower window of the submission form). Sometimes
even indivial switches and the "org" and "name" fields are useful to have.
I hope the answer helps. Else ask again.
Cheers,
Klaus
More information about the Logiweb
mailing list