[Logiweb] Some technical questions

Klaus Ebbe Grue grue at diku.dk
Sun May 29 13:08:53 CEST 2005


On Fri, 27 May 2005, Frederik Eriksen wrote:

> I have some technical questions about pyk Logiweb:
>
> 1. How do you make your .pyk page refer to multiple other .pyk pages (say 
> "base" and "check")? I know that you must have one entry in your BIBLIOGRAPHY 
> section for each page you are referring to, but it seems to me that this is 
> not enough by itself. In particular, don't you need to edit the list of 
> constructs in the preamble?

Yes you do. The rules are:

Logiweb requires all non-closes constructs to have an 
associativity/priority. Examples of non-closed constructs are:
   * factorial
   not *
   * plus *
An example of a closed construct which needs no priority:
   parenthesis * end parenthesis

Logiweb assumes that two constructs with the same home page which have the 
same priority on their home page also have same priority on all pages 
referencing the home page.

Hence, to construct associativity sections for a new page do as follows:
   for each referenced page x
     for each associativity section s of x
       if s contains a non-closed construct
         pick a non-closed construct from s
Having picked non-closed constructs as above, construct associativity 
sections for the new page which mentions all constructs picked above plus 
all constructs introduced on the new page.

Logiweb also requires constructs that are pre (post) associative on their 
home page to be pre (post) associative on referenced pages.

Logiweb does not require referencing pages to respect the priority 
ordering of referenced pages. As an example, a page referencing "base" may 
give higher priority to "* plus *" than to "* times *". Or may even give 
them the same priority. Pages are always parsed using local priorities 
rather than the original priorities.

> 2. I have tried to use the -canned option of the pyk compiler as follows:
>
>> pyk canned=pyk1
>> ./pyk1
>
> When I issue the second command I get the following error message:
>
>> /usr/lib/clisp/base/lisp.run: initialization file `./pyk1' was not 
> created by this version of CLISP
>
> Am I doing something wrong?

I will check on that.

> 3. Can you make the pyk compiler accept the Danish characters æ, ø and å? I 
> tried to put a line saying "\usepackage[danish]{babel}" just before 
> "\begin{document}" in my .pyk file, but it didn't work.

No and yes. The compiler can handle arbitrary characters, but a 
restriction on character set has been put on top of it. The restriction is 
hardwired, but I intend to move the restriction to a parameter so that 
users can declare their own character set. This is non-trivial, however. 
Allowing to use æ, ø, and å is trivial, but allowing e.g. Chinese 
characters is more difficult since they cannot be encoded in eight bit 
bytes.

So the answer is: At present, æ, ø, and å must be encoded as {\ae}, {\o}, 
and {\aa} when it occurs in informal text, and the characters cannot occur 
in formal pyk.

Klaus


More information about the Logiweb mailing list