How to Edit this Manual...: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
Line 89: Line 89:
<!--END-->
<!--END-->
|- valign=top
|- valign=top
|
| {{Robots Left Delimiter}}<tt>$?</tt>''Symbol''<tt>$</tt>{{Robots Mid Delimiter}}
| (if ''Symbol''<tt>::about</tt> exists)
| (if ''Symbol''<tt>::about</tt> exists)
| {{Robots Left Delimiter}}<tt>$?Kauffman$</tt>{{Robots Mid Delimiter}} {{Robots Right Delimiter}}
| {{Robots Left Delimiter}}<tt>$?Kauffman$</tt>{{Robots Mid Delimiter}} {{Robots Right Delimiter}}

Revision as of 09:53, 27 August 2005


The Basic Rules

Knot Atlas manual pages are editable and are edited by both humans and robots (dedicated computer programs). Both sides have to be careful not to step into each other's territory. Under the current treaties, robots are responsible for simulated Mathematica output and for certain numerical values that are computed by KnotTheory`. Their territory always lies between <!--$ and <!--END--> tags. Humans are responsible for everything else, including brief ventures into the robot's territories to tell the robots what to do.

Human Edits

To perform a human edit, simply click on the "edit" link at the top of every manual page (or indeed, at the top of almost every other wiki page) and begin editing, saving your work at the end. Be careful not to modify anything in the robots' territory, delimited by <!--$ and <!--END--> tags. If you are only interested in an edit confined to a human territory, you don't need to read any further.

What Robots Do

Before a human can tell a robot what to do, (s)he must understand the simple way in which robots work. Robots do just one simple thing, and only when instructed to it. Here's how they work:

  1. They search the text of a manual page for patterns of the form <!--$robot instructions$-->old robotic response<!--END-->.
  2. They study the robot instructions and compute something.
  3. They print the output, i.e. the new robotic response, in place of the old robotic response. Just to be sure that humans don't modify the new robotic response, robots precede it with a short human do not enter phrase. Dror's robot's favourite is Robot Land, no human edits to "END".
  4. Robots never modify their own instructions or venture to human territories.

Human Ventures into Robot Lands

It is not a good idea for a human to modify a robotic response, as these changes will be overwritten the next time a robot roams the page. Better, humans can control the robots.

  • To create a new robot territory, put the pattern <!--$robot instructions$--><!--END--> in the desired place. The next time a robot visits it will follow the instructions and place its response between the $--> and <!--END--> tags.
  • To remove an existing robot territory, simply remove everything from the <!--$ tag to the <!--END-->.
  • To modify an existing robot territory, change the content of the robot instructions, between the <!--$ tag and the $--> tag. The next time a robot visits it will follow the new instructions.

Giving Robots Instructions

Currently robots understand the following kinds of instructions:

<!--$instructions$--> Description Example Formatted Output
<!--$$<< KnotTheory`$$--> Simulate In[1] of a KnotTheory` session. <!--$$<< KnotTheory`$$--> <!--END-->

In[1]:= << KnotTheory`

Loading KnotTheory` (version of August 19, 2005, 13:11:25)...

<!--$$In line$$--> Simulate a Mathematica "In Out" pair. <!--$$Jones[Knot[3, 1]][q]$$--> <!--END-->
In[2]:=
Jones[Knot[3, 1]][q]
Out[2]=
  -4    -3   1
-q   + q   + -
             q
(if output is Null) <!--$$Jones[Knot[4, 1]][q];$$--> <!--END-->
In[3]:=
Jones[Knot[4, 1]][q];
(if graphics) <!--$$Show[DrawPD[Knot[3, 1]]]$$--> <!--END-->
In[4]:=

Show[DrawPD[Knot[3, 1]]]

How to Edit this Manual... Out 4.gif
Out[4]= -Graphics-
<!--$$?Symbol$$--> Simulate a Mathematica help line. <!--$?Jones$--> <!--END-->
In[5]:= ?Jones

Jones[L][q] computes the Jones polynomial of a knot or link L as a function of the variable q.

(if Symbol::about exists) <!--$$?Kauffman$$--> <!--END-->
In[6]:= ?Kauffman

Kauffman[K][a, z] computes the Kauffman polynomial of a knot or link K, in the variables a and z.

In[7]:= Kauffman::about

The Kauffman program was written by Scott Morrison.

<!--$inlined command$--> Perform a Mathematica commad "in line". There are <!--$NumberOfKnots[10]$--> <!--END--> knots with 10 crossings. There are 165 knots with 10 crossings.

Calling for Robotic Action

Teaching Robots New Tricks

At the moment robots do not ignore their instructions even if they don't understand them, so there can be only one robot master teaching robots what to do, or else chaos may ensue. If you want to build a better robot or extend Dror's, do it in your sandbox but don't let it roam on public pages. When the new or extended robot is fully trained, and provided its actions extends Dror's robot, send it to Dror and Dror will upgrade his robot.