1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Bruce Sterling on Virtual Community goals -->
<!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> -->
<!--X-Date: Wed, 21 Oct 1998 18:50:00 &#45;0700 -->
<!--X-Message-Id: 199810220147.UAA17294@dfw&#45;ix12.ix.netcom.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199810210508.XAA00409@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Bruce Sterling on Virtual Community goals</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:jlsysinc#ix,netcom.com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00331.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00333.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00290.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00291.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00332">Author</A>
&nbsp;|&nbsp;<A HREF="#00332">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00332">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: Bruce Sterling on Virtual Community goals</LI>
<LI><em>From</em>: "Jon A. Lambert" &lt;<A HREF="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</A>&gt;</LI>
<LI><em>Date</em>: Wed, 21 Oct 1998 21:47:27 -5</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On 20 Oct 98, Chris Gray wrote:
&gt; [Jon A. Lambert:]
&gt; 
&gt;  &gt;I don't see why an interpreter would not look vitually identical to a 
&gt;  &gt;VM that processes bytecode.  An interpreter would normally use 
&gt;  &gt;lazy evaluation and so could the bytecode generator.  That is code 
&gt;  &gt;generation or execution would occur at the same points in the 
&gt;  &gt;execution of the interpreter/code generator.  Possibly just a 
&gt;  &gt;flag could control what output is desired.  State information saved 
&gt;  &gt;for interpretation (labels) would just as easily be used in 
&gt;  &gt;generating bytecode.
&gt; 
&gt; Not sure what you are getting at with "lazy evaluation". 

You don't have to produce byte code at every action.  You can
return information to the caller in a recursive descent parser.
Execution of an interpreted language would occur as you hit all the
returns from your recursive calls.  Delaying bytecode production
until this point puts all your code generation/interpreted execution
in the same place.  I'll have to work up some examples to explain
better. :(

&gt;Not compiling
&gt; to bytecode until the function/module is called? 

Depends.   It was suggested earlier, we might be generating a runtime 
interpreter.  If not, then this doesn't make sense.  

&gt;Labels? What for you
&gt; need labels?

Really you don't.  I was thinking of easier Pretty printing and 
decompilation?  

&gt; 
&gt; Fwap! (ala Gulliver's Travels)
&gt; 

hcuO! 

&gt;  &gt;Details:
&gt; 
&gt; Are these of the HLL or the bytecode? Things like control structures and
&gt; looping structures aren't needed in the byte code if you just have
&gt; PC relative branches like Java bytecode does.

Yep. A Branch on Condition is all that's required!

&gt; No labels are needed
&gt; unless you plan on having an assembler, which I think is a bad idea.

You gotta have an assembler for those who want to touch the virtual 
metal. ;)  An assembler is probably only useful for quick testing 
of the bytecode.  This is something so simple to produce, if and 
when needed, it's not worth giving it a second thought.  In fact, 
labels are probably an artifact of the assembler and belong there.    
 
&gt; Going straight from parse trees to byte-code isn't that bad. My stuff
&gt; is under 1200 lines for that, and it includes several special cases
&gt; for optimization. Also, at the level of byte-code, symbols shouldn't
&gt; be needed. If you have to look things up in tables at runtime, then
&gt; you are again discarding much of the speed of bytecode. Locals and
&gt; parameters can be just offsets from a frame pointer for a stack machine.
&gt; You can keep the symbols for them around if you want to have symbolic
&gt; disassemblies, but stripping them out works fine too. Symbols are
&gt; needed when resolving newly loaded stuff, as you have discussed.
&gt;

Aye. I've looked at your stuff. :) 

[snipped discussion of linkage alternatives]

I'm not sure what to think.  All the options look good to me.  
Anyone else? 
--
--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc#ix,netcom.com /*\--
--/*\ Mud Server Developer's Page &lt;<A  HREF="http://www.netcom.com/~jlsysinc">http://www.netcom.com/~jlsysinc</A>&gt; /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00290" HREF="msg00290.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
<UL><LI><EM>From:</EM> Chris Gray &lt;cg#ami-cg,GraySage.Edmonton.AB.CA&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00331.html">[MUD-Dev] PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00333.html">[MUD-Dev] Re: Recursive look</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00290.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00291.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00332"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00332"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00266" HREF="msg00266.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 20 Oct 1998, 05:08 GMT
<UL>
<LI><strong><A NAME="00286" HREF="msg00286.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Wed 21 Oct 1998, 03:52 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00267" HREF="msg00267.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 20 Oct 1998, 05:17 GMT
</LI>
<LI><strong><A NAME="00290" HREF="msg00290.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Wed 21 Oct 1998, 05:14 GMT
<UL>
<LI><strong><A NAME="00332" HREF="msg00332.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 22 Oct 1998, 01:50 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00291" HREF="msg00291.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Wed 21 Oct 1998, 05:29 GMT
</LI>
<LI><strong><A NAME="00292" HREF="msg00292.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Wed 21 Oct 1998, 06:04 GMT
<UL>
<LI><strong><A NAME="00297" HREF="msg00297.html">[MUD-Dev] Recursive look</A></strong>, 
Ling <a href="mailto:K.L.Lo-94#student,lboro.ac.uk">K.L.Lo-94#student,lboro.ac.uk</a>, Wed 21 Oct 1998, 14:41 GMT
<UL>
<LI><strong><A NAME="00300" HREF="msg00300.html">[MUD-Dev] Re: Recursive look</A></strong>, 
Holly Sommer <a href="mailto:hsommer#micro,ti.com">hsommer#micro,ti.com</a>, Wed 21 Oct 1998, 15:10 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>