<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: DevMUD: Inheritable modules --> <!--X-From-R13: "Pehpr [vgpurare, Xe." <oehprNcherzntvp.pbz> --> <!--X-Date: Wed, 28 Oct 1998 11:59:56 -0800 --> <!--X-Message-Id: 014a01be02ad$3bf87910$58f272cf#howdy,cybersight.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: DevMUD: Inheritable modules</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:bruce#puremagic,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> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00570.html">Previous</a> | <a href="msg00572.html">Next</a> ] Thread: [ <a href="msg00577.html">Previous</a> | <a href="msg00576.html">Next</a> ] Index: [ <A HREF="author.html#00571">Author</A> | <A HREF="#00571">Date</A> | <A HREF="thread.html#00571">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: DevMUD: Inheritable modules</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: DevMUD: Inheritable modules</LI> <LI><em>From</em>: "Bruce Mitchener, Jr." <<A HREF="mailto:bruce#puremagic,com">bruce#puremagic,com</A>></LI> <LI><em>Date</em>: Wed, 28 Oct 1998 11:57:39 -0800</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 Wednesday, October 28, 1998, The Arrow wrote: >There have been a lot of talk about modules, how to implement them, and how >to send messages between them. But so far I haven't seen anything about >inheritable modules. I know it wouldn't be trivial to make a good >implementation, but once done they might make DevMUD even more OO and >extensible. What do you think about it? Have you looked at TOM (<A HREF="http://gerbil.org/tom/">http://gerbil.org/tom/</A>) ? To quote from that page: TOM is an object oriented programming language. It may look like Objective-C at a first glance, but that resemblence is only syntactic. TOM is about as much like Objective-C as Objective-C is like Smalltalk. Why another OO programming language? Because TOM promotes usability of objects, not just reusability. Reusability is a prerequisite of an OO language, but subclassing a given class to make it suit your needs does not always work, for instance when you have no control over all locations where objects are instantiated. In such cases, a modified class is what you need: without the possibility to modify classes, you're stuck programming with something between objects and abstract data types. TOM provides the following features in support of usable objects: * classes are extensible entities: a class is defined by its main definition and its extensions, * an extension can add and replace methods. In support of complex added * behaviour, an extension can add instance variables. To promote object reuse, an * extension can introduce additional superclasses, * extensions can be added to a program at compile, link, or run time. To highlight some more features: TOM is dynamic; it provides very simple (as in `elegant') multiple inheritance; methods are overloaded on both argument and return types; instances as well as classes are true objects; they can be extended and modified at run time and at compile time; objects are managed by a tracing incremental garbage collector; returns are multi-valued; methods have preconditions and postconditions (in pursuit of supporting Design By Contract); and the condition mechanism (`exceptions'), like every part of the language, is an attempt at the right balance between arcane, baroque, simple, elegant and, foremost, usable. The TOM compiler and tools are licensed under the GNU General Public License (GPL); the libraries under the GNU Library General Public License (LGPL). This means that (1) you can apply TOM for commercial applications---no strings attached---and (2) if you fix a bug in the TOM tools or libraries the rest of the world should share in that achievement. Good day, - Bruce </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="msg00570.html">[MUD-Dev] DevMUD: Inheritable modules</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00572.html">[MUD-Dev] Re: Why did it take years?</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00577.html">[MUD-Dev] [DevMUD] driver implementation language</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00576.html">[MUD-Dev] Re: DevMUD: Inheritable modules</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00571"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00571"><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><A NAME="00586" HREF="msg00586.html">[MUD-Dev] META/ADMIN: CVS for DevMUD security</A></strong>, J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Fri 30 Oct 1998, 05:25 GMT <UL> <LI><strong><A NAME="00603" HREF="msg00603.html">[MUD-Dev] Re: META/ADMIN: CVS for DevMUD security</A></strong>, Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Fri 30 Oct 1998, 22:48 GMT <UL> <LI><strong><A NAME="00607" HREF="msg00607.html">[MUD-Dev] Re: META/ADMIN: CVS for DevMUD security</A></strong>, James Wilson <a href="mailto:jwilson#rochester,rr.com">jwilson#rochester,rr.com</a>, Sat 31 Oct 1998, 00:10 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00577" HREF="msg00577.html">[MUD-Dev] [DevMUD] driver implementation language</A></strong>, Hal Black <a href="mailto:hal#moos,ml.org">hal#moos,ml.org</a>, Thu 29 Oct 1998, 05:03 GMT <LI><strong><A NAME="00571" HREF="msg00571.html">[MUD-Dev] Re: DevMUD: Inheritable modules</A></strong>, Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Wed 28 Oct 1998, 19:59 GMT <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="00576" HREF="msg00576.html">[MUD-Dev] Re: DevMUD: Inheritable modules</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 29 Oct 1998, 02:45 GMT </LI> <LI><strong><A NAME="00613" HREF="msg00613.html">[MUD-Dev] Re: DevMUD: Inheritable modules</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 31 Oct 1998, 03:16 GMT </LI> <LI><strong><A NAME="00614" HREF="msg00614.html">[MUD-Dev] Re: DevMUD: Inheritable modules</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Sat 31 Oct 1998, 03:37 GMT <UL> <LI><strong><A NAME="00633" HREF="msg00633.html">[MUD-Dev] Re: DevMUD: Inheritable modules</A></strong>, The Arrow <a href="mailto:arrow#trelleborg,mail.telia.com">arrow#trelleborg,mail.telia.com</a>, Sat 31 Oct 1998, 21:01 GMT </LI> </UL> </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>