2000Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] Object and class heirarchies &#45;&#45; are they really necessary? -->
<!--X-From-R13: Quevf Xbarf <pwbarfNi&#45;jnir.pbz> -->
<!--X-Date: Tue, 21 Mar 2000 16:49:13 &#45;0800 -->
<!--X-Message-Id: 38D8170E.33E813BB@v&#45;wave.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: E12XVws&#45;0001DB&#45;00#under,eng.cp.net -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Object and class heirarchies -- are they really </title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:cjones#v-wave,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="msg00682.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00684.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00681.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00743.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00683">Author</A>
&nbsp;|&nbsp;<A HREF="#00683">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00683">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</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] Object and class heirarchies -- are they really necessary?</LI>
<LI><em>From</em>: Chris Jones &lt;<A HREF="mailto:cjones#v-wave,com">cjones#v-wave,com</A>&gt;</LI>
<LI><em>Date</em>: Tue, 21 Mar 2000 17:42:54 -0700</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>


J C Lawrence wrote:
&gt; When your entire inheritance tree (from an object's perspective) is
&gt; that you all descend from the same super-class -- how do you handle
&gt; multi-user security and access controls for editing the consituent
&gt; components of that super-class?

	It seems to me that one way around this is to do something just
slightly different from what you're proposing, but before getting to
that, let me go off on a tangent to explain where I'm coming from.  

	I'm a MOO devotee -- I've been playing with it for about 5 or 6 years
(so I was there for the end of the heyday); I run one; and I like the
language.  What I don't like, however, is the default LambdaCore (I
should note that MOO has the idea of a separation between server -- the
VM that interprets the language and provides the low-level functionality
-- and database -- the run-time modifiable environment that's where all
of the interesting stuff is; LambdaCore is the core database that most
MOOs use, in some version): it's excessively crufty and virtually
incomprehensible in places (particularly the mail system), and it's
exceedingly difficult to keep up-to-date with changes and to modify it. 
In short, it's a classic example of programming that happened
organically, without an overall plan or, in many parts, any
documentation.

	So, I've been thinking about getting some people together to code a
very small, modularly extensible Core that could (but wouldn't have to
be) LambdaCore-compatible.  

	One of the things I'd very much like to implement is the idea of
capabilities (or packages), such that you could create, say, a Capable
Object that could have a Capability attached to it at an arbitrary time
by someone with appropriate permissions, and suddenly, it'd know how to
do something it didn't know how to do before.  For example, let's say I
have a Capable Object, and I want to turn it into a safe: what I could
do is plug a Containing Capability into the object, so it now knows how
to contain an object -- you can put something inside it, you can remove
something, and you'll get (reasonably) sane results.  Then, let's say I
add a Locking Capability to it, so that I can lock it, and it'll only
open when I let it.  By using modules that can be audited for security
ahead of time, we can ensure a higher degree of safety for the objects
themselves.

	I should note that there's no need to have a flat objectspace, either
-- there's no reason why kids couldn't inherit their ancestors'
capabilities (i.e. make the safe generic, and then all of the kids would
themselves be safes, and you could plug in, say, a Self-Detonating Bomb
package to one of them, and then you'd have a safe that explodes when
you get the combo wrong): instead of making the objectspace fully
hierarchical or using multiple inheritance, you can get the best of both
worlds this way.

	I'd be interested in any comments.

	CJ



_______________________________________________
MUD-Dev mailing list
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-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00675" HREF="msg00675.html">[MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG>
<UL><LI><EM>From:</EM> J C Lawrence &lt;claw#cp,net&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00682.html">RE: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00684.html">Re: [MUD-Dev] better usage through mechanics [from: CGDC dinner]</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00681.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00743.html">Re: [MUD-Dev] Object and class heirarchies -- are they reallynecessary?</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00683"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00683"><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] Object and class heirarchies -- are they really necessary?</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="00688" HREF="msg00688.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Phillip Lenhardt <a href="mailto:philen#funky,monkey.org">philen#funky,monkey.org</a>, Wed 22 Mar 2000, 06:36 GMT
<UL>
<LI><strong><A NAME="00695" HREF="msg00695.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
J C Lawrence <a href="mailto:claw#cp,net">claw#cp,net</a>, Wed 22 Mar 2000, 23:14 GMT
<UL>
<LI><strong><A NAME="00706" HREF="msg00706.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Phillip Lenhardt <a href="mailto:philen#funky,monkey.org">philen#funky,monkey.org</a>, Thu 23 Mar 2000, 06:14 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
<LI><strong><A NAME="00681" HREF="msg00681.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Kevin Littlejohn <a href="mailto:darius#connect,com.au">darius#connect,com.au</a>, Wed 22 Mar 2000, 00:25 GMT
</LI>
</ul>
<LI><strong><A NAME="00683" HREF="msg00683.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Chris Jones <a href="mailto:cjones#v-wave,com">cjones#v-wave,com</a>, Wed 22 Mar 2000, 00:49 GMT
</LI>
<LI><strong><A NAME="00743" HREF="msg00743.html">Re: [MUD-Dev] Object and class heirarchies -- are they reallynecessary?</A></strong>, 
Lazarus <a href="mailto:lazarus#ourplace,org">lazarus#ourplace,org</a>, Mon 27 Mar 2000, 21:19 GMT
<UL>
<LI><strong><A NAME="00748" HREF="msg00748.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Kevin Littlejohn <a href="mailto:darius#connect,com.au">darius#connect,com.au</a>, Tue 28 Mar 2000, 01:06 GMT
<UL>
<LI><strong><A NAME="00754" HREF="msg00754.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Marian Griffith <a href="mailto:gryphon#iaehv,nl">gryphon#iaehv,nl</a>, Tue 28 Mar 2000, 19:36 GMT
<UL>
<LI><strong><A NAME="00773" HREF="msg00773.html">Re: [MUD-Dev] Object and class heirarchies -- are they really necessary?</A></strong>, 
Kevin Littlejohn <a href="mailto:darius#connect,com.au">darius#connect,com.au</a>, Wed 29 Mar 2000, 00:35 GMT
</LI>
</UL>
</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>