1999Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Properties of computer languages -->
<!--X-From-R13: Rnivq95037Nnby.pbz -->
<!--X-Date: Thu, 17 Jun 1999 08:39:16 &#45;0700 -->
<!--X-Message-Id: 1cea7857.249a1ce1#aol,com -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Properties of computer languages</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:David95037#aol,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="msg00832.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00830.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00856.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00830.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00833">Author</A>
&nbsp;|&nbsp;<A HREF="#00833">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00833">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Properties of computer languages</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>: Re: [MUD-Dev] Properties of computer languages</LI>
<LI><em>From</em>: <A HREF="mailto:David95037#aol,com">David95037#aol,com</A></LI>
<LI><em>Date</em>: Thu, 17 Jun 1999 05:41:53 EDT</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#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>

In a message dated 6/17/99 1:36:14 AM, caliban#darklock,com writes:

&gt;I'm in the process of redesigning the macro language of my game, and I
&gt;recall seeing at one time a list... a very short list... of things that a
&gt;computer language absolutely required. Sort of a bare-bones "what you need
&gt;to do everything you need to do in any given program". Two of the things on
&gt;the list were conditionals (if/then/else) and iteration (for/next and
&gt;do/while). There were either two or three other things listed, but I don't
&gt;remember what they were. Does anyone here have a memory spark going off as
&gt;to what list I'm talking about and where I can find it? I think one of the
&gt;other things was something along the lines of subroutine/function 
declaration.

Godel, Escher, Bach: An Eternal Golden Braid by Douglas R. Hofstadter
covers this in chapter 13.

You basically have it.  Add simple arithmetic (+,-,*,/) and the ability to not
only check for equality but greater then or less then.  Of course, that all
assumes variables and assignment in the first place.  So i guess the list is:

Variables
Arithmetic
Assignment
Determining equality, inequality, greater then, less then
Branching
Looping fixed iterations
Looping open ended
Blocks of statements (so you don't have to push everything into a subroutine)
Subroutines (so that you don't have to repeat the same code over and over)

On the minimalistic side, you can do away with variables and just use a stack.
Postfix notation can eliminate the need for parentheses and operator
precedence.  If one macro can refer to another macro, you have defacto 
subroutines.  This can also be used to group blocks of statements.

I have a macro language in a tool where the "if" construct will execute the
rest of the macro if true, else terminate it right there.  My macro languages
have a tendency to be stack based RPN things.  My Forth days are showing
through.  If doing a stack based system, remember to include duplicates
and swaps at the minimum, and 3 value rotates are very useful.  I would be
happy to elaborate on this topic if anyone would find it useful.

--djk, keeper of arcane lore &amp; trivial fluff



_______________________________________________
MUD-Dev maillist  -  MUD-Dev#kanga,nu
<A  HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A>


</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="msg00832.html">Re: [MUD-Dev] Game Economies</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00830.html">[MUD-Dev] Properties of computer languages</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00856.html">Re: [MUD-Dev] Properties of computer languages</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00830.html">[MUD-Dev] Properties of computer languages</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00833"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00833"><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>Re: [MUD-Dev] Properties of computer languages</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00839" HREF="msg00839.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
Hans-Henrik Staerfeldt <a href="mailto:hhs#cbs,dtu.dk">hhs#cbs,dtu.dk</a>, Thu 17 Jun 1999, 21:48 GMT
<UL>
<LI><strong><A NAME="00845" HREF="msg00845.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 17 Jun 1999, 23:56 GMT
<UL>
<LI><strong><A NAME="00846" HREF="msg00846.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
Joey Hess <a href="mailto:joey#kitenet,net">joey#kitenet,net</a>, Fri 18 Jun 1999, 00:34 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00856" HREF="msg00856.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
Mik Clarke <a href="mailto:mikclrk#ibm,net">mikclrk#ibm,net</a>, Fri 18 Jun 1999, 20:43 GMT
</LI>
<LI><strong><A NAME="00833" HREF="msg00833.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
David95037 <a href="mailto:David95037#aol,com">David95037#aol,com</a>, Thu 17 Jun 1999, 15:39 GMT
</LI>
<LI><strong><A NAME="00830" HREF="msg00830.html">[MUD-Dev] Properties of computer languages</A></strong>, 
Cynbe ru Taren <a href="mailto:cynbe#muq,org">cynbe#muq,org</a>, Thu 17 Jun 1999, 15:39 GMT
<UL>
<LI><strong><A NAME="00843" HREF="msg00843.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
Travis S. Casey <a href="mailto:efindel#io,com">efindel#io,com</a>, Thu 17 Jun 1999, 22:44 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00848" HREF="msg00848.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 18 Jun 1999, 01:40 GMT
</LI>
<LI><strong><A NAME="00851" HREF="msg00851.html">Re: [MUD-Dev] Properties of computer languages</A></strong>, 
David95037 <a href="mailto:David95037#aol,com">David95037#aol,com</a>, Fri 18 Jun 1999, 14:19 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>