next up previous
Next: The token list Up: Dot Mode Previous: A brief introduction

Using the existing Macaulay language

Dot mode nearly accepts the existing Macaulay language as is. Thus, it is possible to toggle existing scripts into dot mode with only a small amount of work. Multiword command names must be joined by _ (not -) to avoid parsing as a difference of two names. The dot . should be placed as the second line in a script, after incr_set prlevel 1, if the script is to run silently. Any idiosyncratic expression syntax required for particular Macaulay commands must be quoted in dot mode (e.g. poly a "a2+b2") to slip through the dot processor as a single token, with quotes stripped. Script invocations (e.g. <ring 3 a-z r) are an exception to this rule; they get handled without ever making it to the dot processor, and therefore cannot be used as part of larger dot expressions. At present, it is necessary to quote logical expressions (e.g. if "#0==3||#0==4" START), because logical operators are not yet implemented in dot mode. This will change, and the quotes will become optional.

As a practical matter, it is easier to employ dot mode in scripts on a line by line basis, as needed. On the other hand, toggling dot mode on, and leaving it on, is easier when interacting directly with Macaulay. On the Macintosh, be careful not to accidentally type command-., which causes Macaulay to quit (unless the MPW tool version is in the middle of a computation, in which case the first such character safely causes an interrupt). This is a particular risk on the ``battleship'' keyboard, where command-return is easier to reach than enter.



Sorin Popescu
Sun Dec 22 18:20:57 EST 1996