1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: PDMud thread summary -->
<!--X-From-R13: "Xba O. Znzoreg" <wyflfvapNvk.argpbz.pbz> -->
<!--X-Date: Fri, 23 Oct 1998 08:05:27 &#45;0700 -->
<!--X-Message-Id: 199810231501.LAA06989#smtpgw,national&#45;city.com -->
<!--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: PDMud thread summary</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="msg00397.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00399.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00431.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00433.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00398">Author</A>
&nbsp;|&nbsp;<A HREF="#00398">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00398">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: PDMud thread summary</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: &lt;<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>&gt;</LI>
<LI><em>Subject</em>: [MUD-Dev] Re: PDMud thread summary</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>: Fri, 23 Oct 1998 11:05:51 -0400</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; From: Jon A. Lambert &lt;jlsysinc#ix,netcom.com&gt;
&gt;

Replying to my post.  Sort of like talking to myself. ;)
 
&gt; 
&gt; An example header entry protocol using name-mangling:
&gt; 
&gt; #module@function!offset$arg1$arg1...$argn
&gt;  
&gt; Where #module is the module or class name
&gt; Where @function is the function name, method name, or dataname
&gt; Where !offset is the relative offset to executable bytecode or symbol table
&gt; Where $arg entry would be of the following format
&gt;

Upon further review this is lame name mangling scheme..  

Rather:  #module@function$args  makes more sense. 

The first 3 parts can be used to match the function called
allowing polymorphism.  !offset shouldn't be part of a scheme but
can be included in a module header in table format:

#mangled_name  offset

I think Chris Gray mentioned fixing bytecode memory addresses 
at startup, allowing direct jumps into functions.  While a performance
boost, it makes dynamic registration and unregistration of modules
more complex.  

Are function calls resolved at compile-time, registration, or run-time?

&gt; $ style type 
&gt; 
&gt; Where style would be:
&gt;              a argument 
&gt;              r  return

Having the return value, buys nothing either, since the caller may not use 
it and wouldn't be able to build a proper mangled name.  
  
&gt; int cast(int time, string spell)  ----&gt;   #magic@cast!0x00000000$ri$ai$as
&gt; char foo(char * bptr, bar i)    ----&gt;  #magic@foo!0x1FBA2000$rc$apc$aebar

int cast(int time, string spell)  ----&gt;   #magic@cast$ai$as 
char foo(char * bptr, bar i)    ----&gt;  #magic@foo$apc$aebar

For a standard call format, why not just have the caller push() it's address and then all the 
arguments from left-to-right onto the stack then jump to the callee.  The callee pops() them 
out and loads local variables right-to-left.  Return would pop() the return address off the 
stack and push() the result and jump to the address just popped.

This is pretty simple.  There maybe better ways of doing this.  Message passing perhaps?
Thoughts?






</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00397.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00399.html">[MUD-Dev] Game Developers Conference</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00431.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00433.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00398"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00398"><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: PDMud thread summary</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<LI><strong><A NAME="00390" HREF="msg00390.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 23 Oct 1998, 08:03 GMT
</LI>
</ul>
<LI><strong><A NAME="00377" HREF="msg00377.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 03:17 GMT
</LI>
<LI><strong><A NAME="00379" HREF="msg00379.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 23 Oct 1998, 03:33 GMT
<UL>
<LI><strong><A NAME="00431" HREF="msg00431.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Fri 23 Oct 1998, 23:21 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00398" HREF="msg00398.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Fri 23 Oct 1998, 15:05 GMT
</LI>
<LI><strong><A NAME="00433" HREF="msg00433.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Fri 23 Oct 1998, 23:48 GMT
<UL>
<LI><strong><A NAME="00449" HREF="msg00449.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Darrin Hyrup <a href="mailto:shades#mythicgames,com">shades#mythicgames,com</a>, Sat 24 Oct 1998, 04:10 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00434" HREF="msg00434.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Sat 24 Oct 1998, 00:02 GMT
</LI>
<LI><strong><A NAME="00438" HREF="msg00438.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 24 Oct 1998, 01:01 GMT
</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>