1997Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Introduction -->
<!--X-From-R13: pbqreNvoz.arg -->
<!--X-Date: from fabius.globecomm.net [207.51.48.6] by mx01.ca.us.ibm.net id 863916239.49328&#45;1 Sun May 18 00:43:59 1997 -->
<!--X-Message-Id: 199705180044.AAA276623#out1,ibm.net -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 199705170313.FAA04818#regoc,srce.hr -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Introduction</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:coder#ibm,net">
</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="msg00551.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00553.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00517.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00424.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00552">Author</A>
&nbsp;|&nbsp;<A HREF="#00552">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00552">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Introduction</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev] Introduction</LI>
<LI><em>From</em>: <A HREF="mailto:coder#ibm,net">coder#ibm,net</A></LI>
<LI><em>Date</em>: Sat, 17 May 97 17:33:51 -0700</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>

On 16/05/97 at 08:20 PM, silovic#srce,hr (Miroslav Silovic) said: &gt;&gt; In
&lt;<A HREF="msg00467.html">199705140820.KAA20287#regoc,srce.hr</A>&gt;, on 05/14/97 
&gt;&gt;    at 08:27 PM, silovic#srce,hr (Miroslav Silovic) said:
&gt;&gt; 
&gt;&gt; &gt;Okay, a few examples: One of the situations that happens often is a
&gt;&gt; &gt;function returning either result or 'I couldn't do it'. With typed
&gt;&gt; &gt;system, you need to return two values explicitely. With untyped, you
&gt;&gt; &gt;can return either a list of (integer) 0 (assuming that result is a
&gt;&gt; &gt;list).
&gt;&gt; 
&gt;&gt; This would seem to presume that all types are simple types and thus
&gt;&gt; there are no aggregate, complex, or user-defined types in your
&gt;&gt; language implementation.  Why not have the function call return a
&gt;&gt; structure or equivalent?  (cf ColdX's frobs (which I don't like BTW as
&gt;&gt; they seem a hacked design solution))

&gt;Returning a structure is kind of sucky - if failure is signaled, the rest
&gt;of the structure is meaningless, which is kinda sucky - in fact, it's
&gt;*much* less safe than the dynamic type (if you forget to check the
&gt;structure for failure, you'll continue to process unspeficied list,
&gt;getting unpredicted result, but *NO ERROR*).

True.  My intent more was to raise the general point that most MUD
languages don't support any form of user-defined aggregate/complex types
outside of lists.  While I don't either (yet), I consider this a key
weakness that needs addressing.  I'll be satisfied when I can make a
full-blown object a sub-member of a list, or defined internally to another
object (nested objects), etc.

For RC's what I've done is to build in an exception mechanism into my
language.  Essentially a method call can do one of two things:

  It can return a value, or it can raise an exception.  

  On the implementation side this is actually handled by having all
methods return a tuple where one side is the exception level (E_OKAY
meaning no exception and to continue normal processing), and the other
side of the tuple being the RC.  

  The language then auto-checks the RC's for non-E_OKAY exception values
and then kicks in appropriate processing as needed (standard nested
try/catch stuff, unwind the stack etc).

  As happens the RC value is still obtainable after tn exception -- it
just must be done by a matching handler.

&gt;As I said later in the post, there are strongly typed languages that
&gt;actually handle this right. But a programmer used to C++ type system
&gt;probably wouldn't think of any of the tricks that can be done. 

Ture.  I'm blundering over my own weaknesses there with my strict
procedural background: C++, C, shell, Ada, Cobol, BASIC, PDP-11 Assembler
etc.

&gt;The convenience of static typing IMHO can be sacrificed, but only if
&gt;you're ready to reap all the gains (i.e. dynamically compile the MUD code
&gt;into C or C++).

I tend to prefer typeless languages for these sorts of uses.  Of course
they are typed under the covers (internal representation, automatic
translations, and all that rot), but from the user prorgrammer's PoV
they're typeless and he need never care.

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


</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="00517" HREF="msg00517.html">Re: [MUD-Dev] Introduction</A></STRONG>
<UL><LI><EM>From:</EM> silovic#srce,hr (Miroslav Silovic)</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00551.html">Re: [MUD-Dev]  Re: A brief introduction.. ok, you got me: an introduction</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00553.html">Support mud [was Re: Languages]</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00517.html">Re: [MUD-Dev] Introduction</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00424.html">Re: [MUD-Dev]	Introduction</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00552"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00552"><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]	Introduction</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00425" HREF="msg00425.html">Re: [MUD-Dev]	Introduction</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 13 May 1997, 12:59 GMT
<UL>
<LI><strong><A NAME="00467" HREF="msg00467.html">Re: [MUD-Dev] Introduction</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Wed 14 May 1997, 22:44 GMT
<UL>
<LI><strong><A NAME="00507" HREF="msg00507.html">Re: [MUD-Dev] Introduction</A></strong>, 
clawrenc <a href="mailto:clawrenc#cup,hp.com">clawrenc#cup,hp.com</a>, Sat 17 May 1997, 00:38 GMT
<UL>
<LI><strong><A NAME="00517" HREF="msg00517.html">Re: [MUD-Dev] Introduction</A></strong>, 
Miroslav Silovic <a href="mailto:silovic#srce,hr">silovic#srce,hr</a>, Sat 17 May 1997, 10:06 GMT
<UL>
<LI><strong><A NAME="00552" HREF="msg00552.html">Re: [MUD-Dev] Introduction</A></strong>, 
coder <a href="mailto:coder#ibm,net">coder#ibm,net</a>, Sun 18 May 1997, 07:43 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00424" HREF="msg00424.html">Re: [MUD-Dev]	Introduction</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 13 May 1997, 13:04 GMT
<UL>
<LI><strong><A NAME="00437" HREF="msg00437.html">Re: [MUD-Dev] Introduction</A></strong>, 
Dan Root <a href="mailto:dar#thekeep,org">dar#thekeep,org</a>, Wed 14 May 1997, 01:27 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00477" HREF="msg00477.html">Re: [MUD-Dev]	Introduction</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 15 May 1997, 22:04 GMT
<UL>
<LI><strong><A NAME="00488" HREF="msg00488.html">Re: [MUD-Dev] Introduction</A></strong>, 
Dan Root <a href="mailto:dar#thekeep,org">dar#thekeep,org</a>, Fri 16 May 1997, 04:07 GMT
</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>