1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: (fwd) [DESIGN] Macro semi&#45;language -->
<!--X-From-R13: X Q Znjerapr <pynjNhaqre.rate.ftv.pbz> -->
<!--X-Date: Wed, 29 Apr 1998 17:24:27 &#45;0700 -->
<!--X-Message-Id: 199804300023.RAA02023#under,engr.sgi.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199804271810.LAA316652#under,engr.sgi.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: (fwd) [DESIGN] Macro semi-language</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:claw#under,engr.sgi.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="msg00248.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00251.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00790.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00776.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00250">Author</A>
&nbsp;|&nbsp;<A HREF="#00250">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00250">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: (fwd) [DESIGN] Macro semi-language</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: (fwd) [DESIGN] Macro semi-language </LI>
<LI><em>From</em>: J C Lawrence &lt;<A HREF="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</A>&gt;</LI>
<LI><em>Date</em>: Wed, 29 Apr 1998 17:23:38 -0700</LI>
<LI><em>Delivery-date</em>: Wed Apr 29 17:24:27 1998</LI>
<LI><em>Delivery-date</em>: Wed, 29 Apr 1998 17:24:27 -0700</LI>
<LI><em>Envelope-to</em>: claw#kanga,nu</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: "Petidomo List Agent,,,," &lt;<A HREF="mailto:petidomo#kanga,nu">petidomo#kanga,nu</A>&gt;</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: Richard Woolcock &lt;KaVir#dial,pipex.com&gt; 
&gt; Newsgroups: rec.games.mud.diku,rec.games.mud.admin,alt.mud.programming 
&gt; Subject: [DESIGN] Macro semi-language 
&gt; Date: Sat, 25 Apr 1998 04:22:00 -0700

&gt; Recently I was asked by a friend and fellow implementor if I could
&gt; show her how to code on the mud.  She had used pascal before, but
&gt; never used C, and didn't really seem to have any grasp of the
&gt; language.  In order to try and help her, on wednesday I threw
&gt; together a set of macros to create a sort of pseudo-language.  I
&gt; added a few more features on thursday, and today got the chance to
&gt; show her how it worked.  Although she is still having problems, she
&gt; is finding this macro-based system far easier to use, and I have
&gt; started wondering if it might help a few other coder wannabe's.

A point that should be noted among all the language design flames I've 
noted on r.g.m.*:

  All programming languages, C, C++, COBOL, APL, Lisp, Forth, etc, can
be defined as macros atop machine code.  Complex macros to be sure,
but macros none the less.  Ther is no dishonour in using macros.
There are however desing and maintainability remifications.

  In the case of MUDs this gets particularly interesting with the many 
internal server languages used: LPC, ColdC, MUFF, etc.  Again, in base 
principle these are macro languages based atop a machine language
defined by the server (purely a case of different primitives).  You
have a long and rich history behind you in your macro language.

&gt; Note that this system is designed for Merc, but could be easily
&gt; adepted to most other hard-coded systems.

Essentially you are bolting on a user programming language to a
hard-coded system without gaining any of the benefits of internal
languages such as runtime morphism etc.  &lt;shrug&gt; Its a trade-off.

&gt; The advantages and disadvantages as I see it are as follows:

&gt; * ADVANTAGES: More verbose and robust than direct C coding, as well
&gt; as requiring less actual code to be written.  Compiles down almost
&gt; as efficiently as pure C, and can be mixed and matched.

&gt; * DISADVANTAGES: Excessive macros resulting in poor type checking,
&gt; severe limitations on what you can do, and doesn't really help teach
&gt; the user C.  The hope is that as the user requires more and more
&gt; from the code, they will slowly begin to teach themselves, rather
&gt; being dropped in at the deep end and not knowing how to do anything.

&lt;insert langauge design flame here&gt;

&lt;insert language design advocacy here&gt;

&lt;&lt;ignore both&gt;&gt;

-- 
J C Lawrence                               Internet: claw#null,net
(Contractor)                               Internet: coder#ibm,net
---------(*)                     Internet: claw#under,engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...

-- 
MUD-Dev: Advancing an unrealised future.
</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="00775" HREF="msg00775.html">[MUD-Dev] (fwd) [DESIGN] Macro semi-language</A></STRONG>
<UL><LI><EM>From:</EM> J C Lawrence &lt;claw#under,engr.sgi.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00248.html">[MUD-Dev] Reuters: Cheaters Never Prosper</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00251.html">[MUD-Dev] Re: OT: Birth announcement</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00790.html">[MUD-Dev] Some thoughts on languages and users - was: Macro semi</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00776.html">[MUD-Dev] (fwd) Re: POLL: Games ruined by bad players (Player killers, tank rushers etc)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00250"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00250"><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: Wired, UO, and Internet Gaming (was Re: OT:</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00347" HREF="msg00347.html">[MUD-Dev] Re: Wired, UO, and Internet Gaming (was Re: OT:</A></strong>, 
Dr. Cat <a href="mailto:cat#bga,com">cat#bga,com</a>, Sun 03 May 1998, 20:47 GMT
<UL>
<LI><strong><A NAME="00447" HREF="msg00447.html">[MUD-Dev] Re: Wired, UO, and Internet Gaming (was Re: OT:</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 06 May 1998, 23:12 GMT
</LI>
</UL>
</LI>
</ul>
</ul>
</ul>
</LI>
<LI><strong><A NAME="00775" HREF="msg00775.html">[MUD-Dev] (fwd) [DESIGN] Macro semi-language</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 27 Apr 1998, 19:42 GMT
<UL>
<LI><strong><A NAME="00790" HREF="msg00790.html">[MUD-Dev] Some thoughts on languages and users - was: Macro semi</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Tue 28 Apr 1998, 05:10 GMT
</LI>
<LI><strong><A NAME="00250" HREF="msg00250.html">[MUD-Dev] Re: (fwd) [DESIGN] Macro semi-language</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 30 Apr 1998, 00:24 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00776" HREF="msg00776.html">[MUD-Dev] (fwd) Re: POLL: Games ruined by bad players (Player killers, tank rushers etc)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 27 Apr 1998, 19:31 GMT
<UL>
<LI><strong><A NAME="00787" HREF="msg00787.html">[MUD-Dev] Re: (fwd) Re: POLL: Games ruined by bad players (Playe</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 27 Apr 1998, 23:09 GMT
<UL>
<LI><strong><A NAME="00782" HREF="msg00782.html">[MUD-Dev] Re: (fwd) Re: POLL: Games ruined by bad players (Playe</A></strong>, 
Dr. Cat <a href="mailto:cat#bga,com">cat#bga,com</a>, Tue 28 Apr 1998, 02:04 GMT
<UL>
<LI><strong><A NAME="00280" HREF="msg00280.html">[MUD-Dev] Re: (fwd) Re: POLL: Games ruined by bad players (Playe</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 30 Apr 1998, 21:08 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>