1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Bruce Sterling on Virtual Community goals -->
<!--X-From-R13: Quevf Uenl <ptNnzv&#45;pt.UenlEntr.Sqzbagba.OP.QO> -->
<!--X-Date: Mon, 19 Oct 1998 22:08:21 &#45;0700 -->
<!--X-Message-Id: 199810200508.XAA18594@ami&#45;cg.GraySage.Edmonton.AB.CA -->
<!--X-Content-Type: text/plain -->
<!--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:cg#ami-cg,GraySage.Edmonton.AB.CA">
</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="msg00265.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00267.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00269.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00286.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00266">Author</A>
&nbsp;|&nbsp;<A HREF="#00266">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00266">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>: Chris Gray &lt;<A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A>&gt;</LI>
<LI><em>Date</em>: Mon, 19 Oct 1998 23:08:38 -0600</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>
 &gt;You're right.  I think a better way to approach an extensible 
 &gt;(generic?) internal mud language is to design the VM first.  More 
 &gt;particularly a byte-code assembler.  From there, anyone could create 
 &gt;a compiler for their favorite language du jour.   If you prefer 
 &gt;strong typing over weak typing, the compiler would simply ignore or 
 &gt;not generate opcodes that deal with type promotions/conversions.

I did mine in the exact opposite order, and am pleased with the result.
I parsed into data structures, and only recently have I translated
into byte-codes. I view byte-codes as a largely irrelevant internal
implementation detail, and there is no way for the users to enter
them, other than through the programming language. There is a
'disassemble' builtin that I've used for debugging, and will leave in
just for interest's sake.

The disadvantage of what you suggest is that you are throwing away a
good portion of the possible speed. One reason is that it is the lack
of any need for run-time checks (other than things like divide-by-zero)
that makes my byte-code so much faster than, say, Java byte-code. I
figure the only reason to use byte-code rather than some other interpretation
scheme is because you want maximum speed. So, why then cripple that speed?

Inventing a byte-code and then doing something like an assembler for it,
is doing a whole lot of work that there really isn't a need for. Why
would anyone want to program in byte-code assembler? If the byte-code
is tuned to the higher-level language, then the compiler-generated stuff
will be just about as fast as any hand-coded stuff, even without a
fancy compiler. Remember the result I posted a month or two ago about
my byte-code running only 12 times slower than native code for some
tests? You won't get that if you burden it with run-time byte-code
validity checks, type checking/conversion, parameter checking, etc.

-- 
Chris Gray     cg#ami-cg,GraySage.Edmonton.AB.CA


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00286" HREF="msg00286.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>
<ul compact><li><em>From:</em> "Jon A. Lambert" &lt;jlsysinc#ix,netcom.com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00265.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00267.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00269.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00286.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00266"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00266"><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="00263" HREF="msg00263.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, 04:42 GMT
<UL>
<LI><strong><A NAME="00264" HREF="msg00264.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Tue 20 Oct 1998, 04:45 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00265" HREF="msg00265.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, 04:50 GMT
<UL>
<LI><strong><A NAME="00269" HREF="msg00269.html">[MUD-Dev] Re: Bruce Sterling on Virtual Community goals</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Tue 20 Oct 1998, 06:19 GMT
</LI>
</UL>
</LI>
<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>
</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>