
<HTML><HEAD><TITLE>CosmicOS message</TITLE></HEAD>
<BODY BGCOLOR='#ffffff'>
<HR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT><A NAME='56'><FONT COLOR=red>#&nbsp;MUD another simple little text-adventure space</FONT></A></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;let us try to make a slightly more interesting world</TT><BR>
<TT>[<A HREF='sound.cgi?s=2110132111101000322110103221110113322101011132211003210010130232110032100000113023211103210010010322101103023210010133023211103210111100322101113023210010133023210000010322100000113322100100103322101111003332211010001322100001013322111011333332233'>hear</A>] </TT><TT>(define make-table</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(lambda </font><font style='background-color: #9bffff'>(lst)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(crunch </font><font style='background-color: #cd9bff'>(? x / ? h / </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>assign name </font><font style='background-color: #cd69ff'>(car / x)</font><font style='background-color: #cd9bff'> /</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>assign obj </font><font style='background-color: #cd9bcd'>(cdr / x)</font><font style='background-color: #cd9bff'> /</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>hash-add </font><font style='background-color: #9b9bff'>(h)</font><font style='background-color: #cd9bff'> </font><font style='background-color: #cd69ff'>(name)</font><font style='background-color: #cd9bff'> </font><font style='background-color: #cd9bcd'>(obj)</font><font style='background-color: #cd9bff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(append </font><font style='background-color: #cdcd9b'>(hash-null)</font><font style='background-color: #cdcdcd'> </font><font style='background-color: #9bcdcd'>(lst)</font><font style='background-color: #cdcdcd'>)</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;note, the quoted strings below are just represented as a big number,</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;nothing special</TT><BR>
<TT>[<A HREF='sound.cgi?s=2110132111101001322111101000322101010132211003210010010322101013221001001033221111001132110010003221001001033333221000032110001001101111011100110111010001101111011011103211001000111010101100010011011000110100101101110321110000011000010111001001101001011100113211001110110010101101110011011110110000133332233'>hear</A>] </TT><TT>(define geo-map </TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(make-table</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;<font style='background-color: #9bffff'>(map</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69ffff'>(? name </font><font style='background-color: #37ffff'>(cons </font><font style='background-color: #05ffff'>(name)</font><font style='background-color: #37ffff'> </font><font style='background-color: #37cdff'>(room new </font><font style='background-color: #379bff'>(name)</font><font style='background-color: #37cdff'>)</font><font style='background-color: #37ffff'>)</font><font style='background-color: #69ffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(vector "boston" "dublin" "paris" "genoa")</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321111010103221010101322110032111101011322111032111100103221011030232111101011330232111032111101003221011130232111101011330232111100013211001000322111101001302321111001033221111010013023211110100333322100003221010132110001001101111011100110111010001101111011011103211001000111010101100010011011000110100101101110332210101321100100011101010110001001101100011010010110111032111000001100001011100100110100101110011332210101321100010011011110111001101110100011011110110111032111000001100001011100100110100101110011332210101321110000011000010111001001101001011100113211001110110010101101110011011110110000133332233'>hear</A>] </TT><TT>(define my-links</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(map </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;<font style='background-color: #9bffff'>(? entry </font><font style='background-color: #69ffff'>(assign src </font><font style='background-color: #37ffff'>(car / entry)</font><font style='background-color: #69ffff'> /</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69ffff'>assign dest </font><font style='background-color: #69cdff'>(cdr / entry)</font><font style='background-color: #69ffff'> /</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69ffff'>door new </font><font style='background-color: #69ffcd'>(geo-map / src)</font><font style='background-color: #69ffff'> </font><font style='background-color: #37ffff'>(geo-map / dest)</font><font style='background-color: #69ffff'>)</font><font style='background-color: #9bffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(vector</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>(cons "boston" "dublin")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(cons "dublin" "paris")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(cons "boston" "paris")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>(cons "paris" "genoa")</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321000101113221000011103211001000332233'>hear</A>] </TT><TT>(define myrobo <font style='background-color: #cdffff'>(robo new)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2100010111321000001003221111010013211001000111010101100010011011000110100101101110332233'>hear</A>] </TT><TT>(myrobo set-room <font style='background-color: #cdffff'>(geo-map "dublin")</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=210003221000101113210000011032100100103321100100011101010110001001101100011010010110111032233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>This expression is embedded in the message in the form (equal expression value)</font><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>where value is "dublin"</font><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>(quoted strings are guessed; they are represented in the message as ordinary numbers)</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000100132233'>hear</A>] </TT><TT>(myrobo update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=210003221000101113210000011032100100103321100010011011110111001101110100011011110110111032233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "boston"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000100132233'>hear</A>] </TT><TT>(myrobo update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2100032210001011132100000110321001001033211100000110000101110010011010010111001132233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "paris"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000100132233'>hear</A>] </TT><TT>(myrobo update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=210003221000101113210000011032100100103321100100011101010110001001101100011010010110111032233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "dublin"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000100132233'>hear</A>] </TT><TT>(myrobo update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=210003221000101113210000011032100100103321100010011011110111001101110100011011110110111032233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "boston"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000100132233'>hear</A>] </TT><TT>(myrobo update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2100032210001011132100000110321001001033211100000110000101110010011010010111001132233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "paris"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000101113210000100132233'>hear</A>] </TT><TT>(myrobo update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2100032210001011132100000110321001001033211001110110010101101110011011110110000132233'>hear</A>] </TT><TT>(demo / myrobo get-room name);</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "genoa"</font><BR>
<BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>#&nbsp;all characters should update together</TT><BR>
<TT>[<A HREF='sound.cgi?s=211011000321111011003221111011013211110111033221101110132111101111322110000113211001000333221101110132111110000322111001113211001000322100001013333221101110132111110001322111001113211001000320333221101110132111100032211100111321100100032033322100100113211001000322100000003221111100013211101011322111101000322101010132211003210010010322101013221001001033221111001132110010003221001001033333221111011013333322111100032111010113221010101322110032111101011322111032111100103221011030232111101011330232111032111101003221011130232111101011330232111100013211001000322111110001321110101030232111100103322111110001321110101030232111101003333221111011103333332210010011321100100322110103221111100103210010010321101001003322100000003221101001003210000010032211111000132111010103023211111001033322110100100321000001113023210010010332211111000032111010113221000001032211111000032111010103322100100103322110100100333322111101111321100100322110100100333333221001001132111110011322110103221100003322111110000321110101032211000033210000011032100100103333221001001132111110100322110103221111100103322100110132221000100013221101001032211010322100101332210110000321111000132210010133332211111000132111010103221111100103321100010133333221010101322110032111100013221111000132111101013221111100013211101010302321111100103321001001033322100010001333333221001001132100001001322100000003221010101322110032100101322100101321000010013332211110111132110001013332210101133332233'>hear</A>] </TT><TT>(class world <font style='background-color: #cdffff'>(the-places the-links)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(field things </font><font style='background-color: #ff9bff'>(container new)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(field names </font><font style='background-color: #ffff9b'>(cell new </font><font style='background-color: #ffff69'>(hash-null)</font><font style='background-color: #ffff9b'>)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(field places </font><font style='background-color: #9bffff'>(cell new 0)</font><font style='background-color: #cdffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(field links </font><font style='background-color: #ff9bff'>(cell new 0)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method new </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff9b'>(begin</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff69'>(places set</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff37'>(make-table</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff05'>(map</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffff00'>(? name (cons (name) </font><font style='background-color: #cdff00'>(room new </font><font style='background-color: #9bff00'>(name)</font><font style='background-color: #cdff00'>)</font><font style='background-color: #ffff00'>))</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff05'>(the-places)</font><font style='background-color: #ffff05'>)</font><font style='background-color: #ffff37'>)</font><font style='background-color: #ffff69'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff9b'>(links set</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bff9b'>(map </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69ff9b'>(? entry </font><font style='background-color: #37ff9b'>(assign src </font><font style='background-color: #05ff9b'>(car / entry)</font><font style='background-color: #37ff9b'> /</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37ff9b'>assign dest </font><font style='background-color: #37cd9b'>(cdr / entry)</font><font style='background-color: #37ff9b'> /</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37ff9b'>door new </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37ff69'>(places get / src)</font><font style='background-color: #37ff9b'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #05ff9b'>(places get / dest)</font><font style='background-color: #37ff9b'>)</font><font style='background-color: #69ff9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcd9b'>(the-links)</font><font style='background-color: #9bff9b'>)</font><font style='background-color: #cdff9b'>)</font><font style='background-color: #ffff9b'>)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method add </font><font style='background-color: #9bffff'>(lambda </font><font style='background-color: #69ffff'>(place name val)</font><font style='background-color: #9bffff'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(begin</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9bff'>(val set-room </font><font style='background-color: #9b69ff'>(places get / place)</font><font style='background-color: #9b9bff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdcd'>(val set-name / name)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cdff'>(names set </font><font style='background-color: #37cdff'>(hash-add </font><font style='background-color: #05cdff'>(names get)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #379bff'>(name)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37cdcd'>(val)</font><font style='background-color: #37cdff'>)</font><font style='background-color: #69cdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9b9bff'>(things add </font><font style='background-color: #9b69ff'>(val)</font><font style='background-color: #9b9bff'>)</font><font style='background-color: #9bcdff'>)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffcdff'>(method find </font><font style='background-color: #ff9bff'>(lambda </font><font style='background-color: #ff69ff'>(n)</font><font style='background-color: #ff9bff'> </font><font style='background-color: #ff9bcd'>(names get </font><font style='background-color: #ff9b9b'>(n)</font><font style='background-color: #ff9bcd'> get-room name)</font><font style='background-color: #ff9bff'>)</font><font style='background-color: #ffcdff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #ffffcd'>(method reachable </font><font style='background-color: #ffff9b'>(lambda </font><font style='background-color: #ffff69'>(place)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdff9b'>(let </font><font style='background-color: #9bff9b'>(</font><font style='background-color: #69ff9b'>(exits</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37ff9b'>(select-match </font><font style='background-color: #05ff9b'>(lambda </font><font style='background-color: #00ff9b'>(x)</font><font style='background-color: #05ff9b'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #05cd9b'>(instanceof door </font><font style='background-color: #059b9b'>(x)</font><font style='background-color: #05cd9b'>)</font><font style='background-color: #05ff9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #37cd9b'>(places get </font><font style='background-color: #379b9b'>(place)</font><font style='background-color: #37cd9b'> inventory)</font><font style='background-color: #37ff9b'>)</font><font style='background-color: #69ff9b'>)</font><font style='background-color: #9bff9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd9b'>(map </font><font style='background-color: #cd9b9b'>(? door </font><font style='background-color: #cd699b'>(door access-from </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd379b'>(places get / place)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd699b'>name)</font><font style='background-color: #cd9b9b'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcd69'>(exits)</font><font style='background-color: #cdcd9b'>)</font><font style='background-color: #cdff9b'>)</font><font style='background-color: #ffff9b'>)</font><font style='background-color: #ffffcd'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdffff'>(method update </font><font style='background-color: #9bffff'>(begin </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69ffff'>(map </font><font style='background-color: #37ffff'>(? x </font><font style='background-color: #05ffff'>(x update)</font><font style='background-color: #37ffff'>)</font><font style='background-color: #69ffff'> </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #69cdff'>(things inventory)</font><font style='background-color: #69ffff'>)</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(true)</font><font style='background-color: #9bffff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21101321111101013221111011003211001000322100003211000100110111101110011011101000110111101101110321100100011101010110001001101100011010010110111032111000001100001011100100110100101110011321100111011001010110111001101111011000013322100003221010132110001001101111011100110111010001101111011011103211001000111010101100010011011000110100101101110332210101321100100011101010110001001101100011010010110111032111000001100001011100100110100101110011332210101321100010011011110111001101110100011011110110111032111000001100001011100100110100101110011332210101321110000011000010111001001101001011100113211001110110010101101110011011110110000133332233'>hear</A>] </TT><TT>(define geo-world</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;<font style='background-color: #cdffff'>(world new </font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bffff'>(vector "boston" "dublin" "paris" "genoa")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdff'>(vector</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>(cons "boston" "dublin")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cdcdcd'>(cons "dublin" "paris")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #9bcdff'>(cons "boston" "paris")</font></TT><BR>
<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font style='background-color: #cd9bff'>(cons "paris" "genoa")</font><font style='background-color: #cdcdff'>)</font><font style='background-color: #cdffff'>)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21111101013211001003211001000111010101100010011011000110100101101110321110010011011110110001001101111001100013221000011103211001000332233'>hear</A>] </TT><TT>(geo-world add "dublin" "robo1" <font style='background-color: #cdffff'>(robo new)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=211111010132110010032110011101100101011011100110111101100001321110010011011110110001001101111001100103221000011103211001000332233'>hear</A>] </TT><TT>(geo-world add "genoa" "robo2" <font style='background-color: #cdffff'>(robo new)</font>);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2100032211111010132111110011321110010011011110110001001101111001100013321100100011101010110001001101100011010010110111032233'>hear</A>] </TT><TT>(demo / geo-world find "robo1");</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "dublin"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000322111110101321111100113211100100110111101100010011011110011001033211001110110010101101110011011110110000132233'>hear</A>] </TT><TT>(demo / geo-world find "robo2");</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "genoa"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21111101013210000100132233'>hear</A>] </TT><TT>(geo-world update);</TT><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=2100032211111010132111110011321110010011011110110001001101111001100013321100010011011110111001101110100011011110110111032233'>hear</A>] </TT><TT>(demo / geo-world find "robo1");</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "boston"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=21000322111110101321111100113211100100110111101100010011011110011001033211100000110000101110010011010010111001132233'>hear</A>] </TT><TT>(demo / geo-world find "robo2");</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: "paris"</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=210003221111101013211111010032110001001101111011100110111010001101111011011103302321000032110010001110101011000100110110001101001011011103211100000110000101110010011010010111001132233'>hear</A>] </TT><TT>(demo / geo-world reachable "boston");</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: (vector "dublin" "paris")</font><BR>
<BR>
<TT>[<A HREF='sound.cgi?s=210003221111101013211111010032110011101100101011011100110111101100001330232100003211100000110000101110010011010010111001132233'>hear</A>] </TT><TT>(demo / geo-world reachable "genoa");</TT><BR>
<TT>&nbsp;&nbsp;&nbsp;</TT><font size=-1 color=green>evaluates to: (vector "paris")</font><BR>
<BR>

</BODY>
</HTML>
