[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