[MUD-Dev] Re: PDMud thread summary
Jon A. Lambert
jlsysinc at ix.netcom.com
Sat Oct 31 22:59:10 CET 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.
>It
> 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-archive
mailing list