[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CAR sending a message, Liebermann's message

KMP: The compiler probably replaces calls to CAR with instructions, so you
want to catch the operation before it errors (at "bugout" time for
microprogrammed machines, but what about standard architectures?).  Anyway,
I think all this stuff will have to be implementation-dependent, unless
anybody can show it has some use.  I don't really see much use for sending
to primitive types, but I've proposed a way to handle it.

Henry: The model I'm operating under is that sending a message is like a
function call, but the function that gets called depends on the type of the
receiver.  It's simple and pretty common.  Anything else probably takes
longer and is probably different enough to warrant a totally different
mechanism if it's useful (like production systems).

A basic idea in Flavors is that it constructs and compiles a function that
calls the methods in some sequence, so the only speed issues are function
calls and the time it takes to recompute the "combined method" when
something changes.  Yeah, if you add something to Vanilla-flavor it has to
be added to EVERYTHING, which may take a while.

"Just like the print message, except..." usually calls for intelligence;
generalized inheritance does not exist.  Flavors doesn't go far enough in
trying to get around this- you can't even define new ways of combining
methods (and new method types).  I hope this group is open enough to change
that somebody can do it right sometime; mixing could be made much more
complex with no change in runtime speed.