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: Thu, 22 Oct 1998 12:12:21 &#45;0700 -->
<!--X-Message-Id: 199810221909.PAA24794#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="msg00359.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00361.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00351.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00369.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00360">Author</A>
&nbsp;|&nbsp;<A HREF="#00360">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00360">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>: Thu, 22 Oct 1998 15:12:48 -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>
Niklas Elmqvist wrote:
&gt; 
&gt; The inter-module communication and standard calling conventions must be
&gt; resolved before anyone can start building modules, for example.
&gt;

A proposal...

Why not generate an import definition for each byte-compiled function.  The definition
would be written as a header of the module and saved with it.

Registering and unregistering the module is done by loading the header information
or deleting it from a table known to the driver or VM.

An example header entry protocol using name-mangling:

#module@function!offset$arg1$arg1...$argn
 
Where #module is the module or class name
Where @function is the function name, method name, or dataname
Where !offset is the relative offset to executable bytecode or symbol table
Where $arg entry would be of the following format

$ style type 

Where style would be:
             a argument 
             r  return
             d data member

Where type would be:
             v    void
             c   char
             i    int
             s   string
             f    float
             e     complex - followed by typename
             p     pointer  - prefix
              

Some examples using C/C++ style as Mud language:

In module "magic" we have the following functions:

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

For a typical C++ class: 

class foo {
int x;
string name;

foo() { /* intitializer */ }
int operation(float v) { /* blah blah */}
}

would generate the following headers:

----&gt;  #foo@x!0x08000000$di
        #foo@name!08000004$ds
        #foo@foo!00000000$av
        #foo@operation!00000010$ri$af

Note this could be expanded on with other features(public,private), datatypes, etc.

When registering a module by reading the headers in one would be creating symbol
tables.   Relative offsets can be resolved to virtual memory locations.  Perhaps modules
could be temporarily swapped out due to lack of use and have their offsets nulled out,
or set to high values to indicate they are invalid or locked.

Any thoughts...  Does this look familiar to anyone.  :)





</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="msg00359.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00361.html">[MUD-Dev] Re: Recursive look</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00351.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00369.html">[MUD-Dev] Re: PDMud thread summary</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00360"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00360"><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: DevMUD Event Language</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00468" HREF="msg00468.html">[MUD-Dev] Re: DevMUD Event Language</A></strong>, 
James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Sun 25 Oct 1998, 01:49 GMT
<UL>
<LI><strong><A NAME="00469" HREF="msg00469.html">[MUD-Dev] Re: DevMUD Event Language</A></strong>, 
J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Sun 25 Oct 1998, 01:58 GMT
<UL>
<LI><strong><A NAME="00478" HREF="msg00478.html">[MUD-Dev] Re: CVS and LXR</A></strong>, 
bruce <a href="mailto:bruce#portland,puremagic.com">bruce#portland,puremagic.com</a>, Sun 25 Oct 1998, 07:31 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00351" HREF="msg00351.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>, Thu 22 Oct 1998, 14:10 GMT
<UL>
<li>&lt;Possible follow-up(s)&gt;<br>
<LI><strong><A NAME="00360" HREF="msg00360.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 22 Oct 1998, 19:12 GMT
</LI>
<LI><strong><A NAME="00369" HREF="msg00369.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Fri 23 Oct 1998, 00:15 GMT
<UL>
<LI><strong><A NAME="00391" HREF="msg00391.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Fri 23 Oct 1998, 09:19 GMT
</LI>
<LI><strong><A NAME="00400" HREF="msg00400.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Steve Sparks <a href="mailto:ssparks#enigma,sss.org">ssparks#enigma,sss.org</a>, Fri 23 Oct 1998, 16:39 GMT
<UL>
<LI><strong><A NAME="00401" HREF="msg00401.html">[MUD-Dev] Re: PDMud thread summary</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Fri 23 Oct 1998, 16:57 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>