Logiweb Help: The pyk compiler

Home. Help index. Pyk. Invocation.


At the time of writing, the only reasonable way to produce a Logiweb page is to express the page in the Pyk language. Interactive ways of writing Logiweb pages is planned for the future.

If you click the 'Source' link on a crossbrowser main menu of a Logiweb page, you will get to the pyk source of the page.


The Pyk compiler can translate a Pyk source into a Logiweb vector. A vector is a sequence of bytes and is the form in which Logiweb pages are stored on disk and transmitted over networks.

The translation from Pyk to vector is not realy a part of the Logiweb specification, but once the Pyk source is translated to a vector, the Logiweb standard takes over and defines what should happen to that vector.


During translation, the Pyk compiler also computes a reference for the page. The reference consists of about 30 bytes and is worldwide unique.

A Logiweb page may be 'submitted' to Logiweb. Once submitted, the reference allows to refer to the page across the internet independent of the physical location of the page. When the Logiweb system looks up a page, it always does so using the reference. The page may be physically moved and copied without affecting the ability to look it up.

A page cannot change once submittet. Hence, to change a page, one has to submit a new page which receives a new reference. After that it is possible to look up both the old and the new page as long as there remains at least one copy of each somewhere on Logiweb.

One may submit a page by placing it within reach of a Logiweb server. After that, one may notify the server. Knowledge about the page will then seep through the mesh of Logiweb servers so that other people can look it up.

Other Logiweb servers may even mirror the page, i.e. make verbatim, local, electronic copies of the page.

If you are the copyright holder of something and don't want it copied, don't submit it to Logiweb. After you have submitted a vector to Logiweb, foreign servers may insist to keep copies of it even if you discard your copy, so your vector may live on on Logiweb after you have deleted it. This is resonable, for the whole purpose of Logiweb is to distribute mathematics, and mathematics is accumulative.

A Logiweb reference of a Logiweb page contains a RIPEMD-160 signature. That signature is computed on basis of the contents of the page. Any change to the contents of the page also changes the signature. Hence, looking up a Logiweb page several times using the same reference is guaranteed to yeild the same page each time.

We shall say that Logiweb pages are 'immutable' because no-one, not even the author, is able to change the Logiweb page associated to a given reference once the page is published.

The crossbrowser

When the pyk compiler translates a pyk source into a Logiweb page, it generates, as a bonus, a number of html pages that allows a user to view the page without having a Logiweb browser. This collection of interlinked pages is called the crossbrowser.

When the pyk compiler generates a Logiweb page, it places the bonus pages at fixed, relative locations, relative to the Logiweb page itself.

Invoking the Pyk compiler

For information on invocation, click here.

Klaus Grue, GRD-2004-08-04