1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals) -->
<!--X-From-R13: @vxynf Syzdivfg <q97ryzNqgrx.punyzref.fr> -->
<!--X-Date: Fri, 23 Oct 1998 07:46:13 &#45;0700 -->
<!--X-Message-Id: Pine.SOL.3.96.981023162531.3504A&#45;100000#licia,dtek.chalmers.se -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199810231404.IAA01502@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: PDMud (was Re: Bruce Sterling on Virtual Communi</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:d97elm#dtek,chalmers.se">
</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="msg00395.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00397.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00395.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00435.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00396">Author</A>
&nbsp;|&nbsp;<A HREF="#00396">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00396">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: PDMud (was 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: PDMud (was Re: Bruce Sterling on Virtual Community goals)</LI>
<LI><em>From</em>: Niklas Elmqvist &lt;<A HREF="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</A>&gt;</LI>
<LI><em>Date</em>: Fri, 23 Oct 1998 16:43:01 +0200 (MET DST)</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 Fri, 23 Oct 1998, Chris Gray wrote:

&gt; [Niklas Elmqvist:]
&gt; 
&gt; [Have to be brief - rushing off to work]
&gt; 
&gt; [nice pipes arrangement deleted]
&gt; 
&gt;  &gt;Or is there a better alternative to a message-based communication system
&gt;  &gt;like this? Anyone with more experience in these things than I?
&gt; 
&gt; I, and I think some others, have been thinking more in terms of function
&gt; call interfaces than of data stream interfaces. So, the connections would
&gt; more be in the form of a function from, say, the parser module, calling
&gt; functions (via pointer of course!) from the various world modules (magic,
&gt; movement, descriptions, combat, etc.) when the parser has determined
&gt; that the command is a command for that module. In the case of parsing,
&gt; I like the model of only parsing the command once, and working with
&gt; more structured stuff from then on, rather than having more parsing
&gt; happen in other modules. That string stuff is expensive!

Hmm, yes, but when I use the term "message-based" I do not necessarily
mean parsing a string or anything. I guess I've just picked up on the
vocabulary of many O-O authors which like to keep a degree of abstraction
when they talk about objects "passing messages to each other". In reality 
(unless you use Smalltalk, I think), this means that one object calls a
method (i.e. a function, just for clarity) on another along with some
arguments. That's the "message".

Also, I probably made things worse by bringing pipes into all this... I am
not thinking about pipes in the OS way where you send raw data streams. 
Here, pipes is just a connection between two or more modules to allow one
module to send messages (that is, message info contained in a well-defined
data structure which thus does *not* need to be parsed) to the other
modules. 

Having message pipes instead of direct function pointers makes the system
more decoupled (actually, you could view the pipe as a O-O function
pointer abstraction, at least in some sense). Instead of things
potentially breaking when using function pointers which have been
invalidated due to unloaded modules (OK, this should not happen in a good
design), the pipe could intercept and prevent this -- the message just
would not reach its destination. In addition, pipes would allow a module
to broadcast certain messages to several receivers

This may be needlessly complex. However, I strongly feel that it is a much
more conceptually clean solution. In addition, it is also a bit geared
towards an O-O implementation language, so might not be usable depending
on what the consensus is. 

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

-- Niklas Elmqvist (d97elm#dtek,chalmers.se) ----------------------
  "The trouble with being a god is that you've got no one to 
   pray to."
		-- Terry Pratchett, Small Gods



</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="00395" HREF="msg00395.html">[MUD-Dev] Re: PDMud (was 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="msg00395.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00397.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00395.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00435.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00396"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00396"><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 (was Re: Bruce Sterling on Virtual Community goals)</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00422" HREF="msg00422.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Fri 23 Oct 1998, 21:28 GMT
</LI>
</ul>
</ul>
<LI><strong><A NAME="00376" HREF="msg00376.html">[MUD-Dev] Re: PDMud (was 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>, Fri 23 Oct 1998, 03:01 GMT
</LI>
<LI><strong><A NAME="00383" HREF="msg00383.html">[MUD-Dev] Re: PDMud (was 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>, Fri 23 Oct 1998, 04:01 GMT
</LI>
<LI><strong><A NAME="00395" HREF="msg00395.html">[MUD-Dev] Re: PDMud (was 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>, Fri 23 Oct 1998, 14:10 GMT
<UL>
<LI><strong><A NAME="00396" HREF="msg00396.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 23 Oct 1998, 14:46 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00435" HREF="msg00435.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
ApplePiMan <a href="mailto:ApplePiMan#aol,com">ApplePiMan#aol,com</a>, Sat 24 Oct 1998, 00:30 GMT
</LI>
<LI><strong><A NAME="00437" HREF="msg00437.html">[MUD-Dev] Re: PDMud (was 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>, Sat 24 Oct 1998, 00:48 GMT
</LI>
<LI><strong><A NAME="00439" HREF="msg00439.html">[MUD-Dev] Re: PDMud (was 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>, Sat 24 Oct 1998, 01:09 GMT
</LI>
<LI><strong><A NAME="00448" HREF="msg00448.html">[MUD-Dev] Re: PDMud (was Re: Bruce Sterling on Virtual Community goals)</A></strong>, 
Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Sat 24 Oct 1998, 03:33 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>