[MUD-Dev] Re: PDMud thread summary

Jon A. Lambert jlsysinc at ix.netcom.com
Sat Oct 31 22:59:10 New Zealand Daylight Time 1998

On 26 Oct 98, Bruce Mitchener, Jr. wrote:
> On Monday, October 26, 1998, Jon A. Lambert wrote:
> >
> > Self has pretty 'heavy' objects.  Instead of class concepts there are
> > prototype objects.  It has been done in ColdC.  IMO, if the Self
> > model was sufficient, there would have been no desire or need for
> > Cold's $frob construct.
> I personally feel that the frob datatype (in addition to being fairly hard
> for most people learning ColdC to learn) is fairly well mis-understood.  

I can't disagree with that. 

> is closest to being the way to implement abstract datatypes, where you want
> all method calls regarding that data to be routed to a particular object.
> It is also highly useful, because of the method handler, for implementing
> proxies for remote objects.  It is currently used as a lightweight object in
> some code, which isn't really where its strength is.

A side-effect.  Those preferring a different object model may be 
tempted to use it as such.   I've been told I've been using it wrong,
but it feels so right.  ;)

> The syntax for a literal frob is:  <object, data, handler> where the handler
> is optional.  With a frob without a handler, any call made get transformed:
> frob.method(args) => object.method(data, args)   ....  While this looks
> fairly, odd, it has uses within the structure of Cold.  Where it gets
> interesting is when there is a method handler, the call gets transformed
> like this:  frob.method(args) -> object.handler(data, method, args) ... With
> this, you could have something like so:
> <$distributor, #[['object, $blah], ['home_system, "ice.cold.org:1150"]],
> 'proxy_handler>

And that's a simple one, Bruce.  A very user-friendly syntax has 
always been one of my design goals.  It would be nice if Cold had a 
fixed-in-stone bytecode model, then maybe someone could use it 
as target for an Objective Rexx compiler, or some such thing. 
A possible release 2 feature? :)

--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc at ix.netcom.com /*\--
--/*\ Mud Server Developer's Page <http://www.netcom.com/~jlsysinc> /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--

More information about the MUD-Dev mailing list