|Logiweb system pages|
|Explanation of output|
The response from pyk
Chances are you got this:
Logiwiki Response Up. Submission form. Help.
The lines above come from the CGI-script behind the Submission form and allow you to navigate to other places.
The CGI-script calls the pyk compiler. The message above indicates that pyk has started its frontend.
Reverse lookup of http://site/logiweb/wiki/org/name/../../../page/check/latest/vector/page.lgw Reverse lookup of http://site/logiweb/wiki/org/name/../../../page/base/latest/vector/page.lgw
The messages above indicate that pyk look up the referenced pages and convert them into Logiweb references. Your page will forever reference the pages that resided at the given URLs the split second pyk looked them up. If somebody puts a new version of the pages at the given URL, your page will still reference the old version.
Loading ref nani tani tutu suku kuni ... Load: loading from cache Loading ref nani niki seti keki kita ... Load: loading from cache
If the messages above show up they indicate that pyk loads the pages. If the system administrator has installed an 'enhanced' pyk the lines above do not show up since the check and base pages are preloaded in the enhanced pyk. The 'nani tani tutu suku kuni ...' is the internal Logiweb reference of the check page expressed in mixed endian kana. The message 'loading from cache' indicates that the referenced page has been translated before and appears in the cache.
Frontend: parsing associativity sections
Now pyk reads the PRE- and POSTASSOCIATIVE sections.
Frontend: parsing body
Now pyk reads your BODY section
Frontend: invoking priority rules
This is where e.g. 2 * 3 + 4 * 5 becomes ( 2 * 3 ) + ( 4 * 5 ). From a priority/associativity point of view, your BODY is rather unproblematic.
This is where pyk expresses your input as a 'Logiweb vector' (a sequence of bytes). The vector is a standardised, compact way of storing and transmitting Logiweb pages. Pyk forgets your source text once it has the vector. Your page is verified and rendered on basis of the vector, and anyone who get a copy of your vector is able to reproduce your page.
It is not completely true that pyk forgets your source text. During translation, pyk expands the keywords 'Pyk' and 'Priority' into something which represents your header. Your body contains those two keywords, placed strategic places. The effect is that a copy of your header is included in your page. This feature makes it easy for other people to reference your page. When you pressed 'Suggest Header', the suggestion was based on headers included in the check and base pages.
ITERATION 1 ITERATION 2 ITERATION ENDED
Pyk translates the vector into a 'codex' and an 'expansion'. The 'codex' is a collection of all definitions present on the page and the expansion is the result of macro expanding the body of the page. Pyk may need to translate your page many times to get the meaning right (just like TeX may need to read a file many times to get the references right).
Load: verifying page
Now it is time to cross fingers.
Claim of page 'my page' succeeded.
Your page claims nothing, hence it is correct.
Frontend: checking pyk consistency
Pyk checks that you have included the headers properly. Since you have asked pyk to suggest headers, chances are that the consistency check succeeds. In the unlikely event that you don't want to include headers or want to fiddle with them, you can suppress the consistency check with a 'header=nowarn'. Setting 'header=suggest' is very similar to pressing 'Suggest Header' on the header creation form.
Now Pyk fires up its backend in order to render your page. Pyk has a frontend for reading your pyk source and a backend for rendering your page. It also has a central piece for understanding your page. Messages from the central piece are typically prefixed by 'Load:' as in 'Load: verifying page' above. The ITERATION statements above also come from the central piece.
Rendering page here
Clicking the 'here' link brings you to the location where pyk intends to publish your page.
Backend: writing index
Progress message from the Backend. The Backend writes an index (the html page you get to by clicking 'here').
Backend: writing diagnose
Then the Backend prints the diagnose (saying 'The page is correct' in your case).
Backend: writing referenceThe reference of your page is a sequence of about 30 bytes which identifies your page uniquely.
Backend: writing sourceThe Backend prints a copy of your source text so that other people can admire how clever you are at writing pyk. Later, you may find it handy to read other peoples pyk sources to learn their tricks.
Backend: writing body Generating TeX face of body Extracting page.html Extracting page.bib Extracting page.tex bibtex: result=2. Rerun with verbose=2 to see messages or browse .blg file. Extracting appendix.tex Extracting chores.tex
The body of your page results in five files: page.html, page.bib, page.tex, appendix.tex, and chores.tex. Your body is constructed using the follwing construct:
page ( X , Y ) bib B main text M appendix A end page
The 'page' construct above writes B, M, and A to page.bib, page.tex, and appendix.tex, respectively. It constructs chores.tex from X and Y, and constructs page.html as a table of contents. Then it runs latex, bibtex, makeindex, latex, and latex on page.tex and runs latex three times on appendix.tex and chores.tex. The error message from bibtex above comes because your main text contains no \bibliography or \cite statements.
Backend: writing bibliography
Then the Backend prints the bibliography of your page. Your page references check and base in that order, so check is reference number one and base is reference number two. In addition, any Logiweb page is 'reference number zero' in its own bibliography. Apart from these 'reference number zero' self references, the Logiweb references form a directed, acyclic graph.
Backend: writing dictionary
The dictionary lists all mathematical constructs introduced on your page. Your page only introduces one construct (the one named 'my page' which you introduced in the PAGE section and which represents your page).
Backend: writing Lisp
Then the Backend prints your page in an external format suited for feeding into other systems. That format contains Lots of Ingeniously Supportive Parentheses.
Backend: writing lgwdir
The lgwdir.html files make html browsing easier in some cases.
Backend: finishing Claim succeeded
The Backend finishes and Pyk prints its main judgement once again: the page is correct.