Logiweb(TM)     Logiweb system pages  
        Road map  

System pages
Site pages

Man pages
Wiki submission
Machine room...

T01: Hello world
T02: Programming
T03: Proving
T04: Googling
T05: Syntax

Hints for administrators
Syntax of references
Road map
Explanation of output


Up. Back to tutorial. Submission form.

From the main menu you can get to the following places:

The thing you want your readers to see.
The unique reference of your page. The reference consists of about 30 bytes. Once your page is submitted, it may be mirrorred around the world, and all the mirror images have the same reference as your original. When someone tries to look up your page on basis of the reference, they may get to your original or to one of the mirrors. Actually, there is no difference between the original and the mirrors. As long as at least one copy of your page remains on Logiweb somewhere, it can be looked up on basis of the reference. Note that if you regret submitting something, there is no way you can call it back. Writing on Logiweb is like publishing. But your marvelous 'Hello World' page is not really published: it was sent to pyk with level=body which tells pyk that you are still working on your page.
The vector of a page is a sequence of bytes in a well defined, compact format in which pages are stored and transmitted inside Logiweb. Pyk did not generate a vector because you said 'level=body' when sending your pyk source to pyk. A page is not really published on Logiweb before the vector is generated.
The bibliography is the list of all Logiweb pages you reference from your page. You referenced no other pages, so the bibliography only contains a special entry: All Logiweb pages has a reference number zero which references the page itself. The other references are numbered from one and up and reference other pages. The proper references (those with numbers one and up) form a directed, acyclic graph.

Each Logiweb page can introduce any number of new constructs. As an example, a page which we shall look at shortly introduces a construct named x+y which denotes addition.

Each introduced construct has an 'index' which is a natural number. Introduced constructs are typically numbered from zero and up, and constructs introduced in different pages may have the same index. To identify a Logiweb construct uniquely one needs both the index of the construct and the reference of the 'home page' of the construct, i.e. the page which introduces the construct.

Each introduced construct has an 'arity'. As an example, the x+y construct considered later has an arity of 2. This means that the x+y construct always takes exactly two arguments. The dictionary of each page lists all constructs introduced on the page together with their arities. As a service to human readers, the rendering in the dictionary window list not only indices and arities, but also the names of the constructs.

Every page on Logiweb introduces at least one construct: the page construct. The page construct always has index 0 and arity 0. The page construct is used for many, special purposes.

As any other Logiweb page, your Hello World page has a page construct. Your source text does not assign a name to the page construct and, hence, pyk has invented a peculair 'nani ...:0' name for it. The zero after the colon is the index of the page construct. The nonsense words before the colon represent the first few bytes of the reference of your page.

As soon as you learn to attach names to constructs, your pages will get more reasonable names that 'nani ...'.

The Lisp window displays the bibliography, dictionary, and body of your page in that order in a format suited for interfacing to other systems. The bibliography is a list of big numbers where each number encodes a reference. The dictionary is a so-called 'association list' which maps construct indices to arities. The body is a tree structure which represents the body of your page.
The codex contains all definitions found on your page (none, in the case of the the Hello World page). When a pyk source is sent to pyk with an option of level=body, only the reference, diagnose, body, bibliography, dictionary, Lisp, and source windows are rendered. That is why you see an asterisk next to the vector, codex, expansion, and header links.
The macro expanded version of your page.
Some information about priority and associativity of introduced constructs. Authors who want to import constructs from your page may want to copy/paste from the header window.
This is either the text 'The page is correct' or a link named 'Diagnose'. If the page is in error, click the link to see what is wrong.
The original pyk source from which the page was generated. As mentioned previously, the pyk compiler forgets the source once it has generated the vector. Among other, this is why your page ended up being named 'nani ...': the pyk compiler forgot that it was named 'Hello World'. But authors who want to learn the tricks you use when writing pyk may benefit from having the original pyk source. Furthermore, the pyk source may contain commentary text.

To save time, one can tell pyk to generate only some of the windows above using the 'level' parameter as follows:

Verify the page but do not generate any of the windows above.
Generate diagnose, reference, and source.
Generate the above plus body, bibliography, dictionary, and Lisp.
Generate the above plus codex, expansion, and header.
Generate the above plus the vector in human readable format.
Generate the above plus the actual, machine readable vector and notify the local Logiweb server.

A Logiweb page is not really published on Logiweb before one runs pyk with level=submit. The other levels are for generating draft versions which other users are unable to reference.

The windows above have the following links:

The body of the page expressed in Pdf (if available).
A table of contents in html (if available).
The body of the page reverse engineered back to pyk source
A directory containing all the files used for generating the Pdf. Inspect the page.log and page.tex files if you get TeX error messages from pyk.
Some online information about the body window.
Hex bytes
The bytes of the reference in network byte order. Each byte is expressed in hexadecimal. Each byte is written with the most significant digit first.
Decimal bytes
As above, but in decimal.
Kana bytes
As above, but expressedd base 4 with a special encoding useful for entering references through a microphone (for most references, the first two or three words are enough in a given context).
Base 16 ref
An encoding where each character represents four bits.
Base 32 ref
An encoding where each character represents five bits.
Base 64 ref
An encoding where each character represents six bits.
Decimal number
The reference expressed as a natural number. This natural number is the 'reference of the page' internally in Logiweb when Logiweb works with the page. The 'hex bytes' representation above, however, is more faithful to the way references are stored on disk and transmitted over a network.
Hex number
Same as above, but expressed base 16.
Online explanations of the formats, including the order of byte and digits in each representation.
The names of referenced pages expressed in Pdf (if available).
The names of referenced pages expressed in pyk (if available).
The files used for generating the Pdf window.
Hex bytes etc.
Same representations as used for references.
Pdf, Pyk, Tex
Same as Pdf, Pyk, and Tex in bibliographies
Actual source as plain text
The actual pyk source after processing of include directives and after translation to Unicode/UTF-8.
Actual source as html.
Same as above, but translated to html.
Reverse engineered body.
Link to 'pyk' in the 'body' window.