Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!pt.cs.cmu.edu!andrew.cmu.edu!ba0k+ From: ba0k+@andrew.cmu.edu (Brian Patrick Arnold) Newsgroups: comp.sys.mac.hypercard Subject: Re: HYPERCARD limitations, speed issue Message-ID: Date: 17 Jan 90 01:05:29 GMT References: <614@ascom.UUCP>, <37876@apple.Apple.COM> Organization: Mechanical Engineering, Carnegie Mellon, Pittsburgh, PA Lines: 33 In-Reply-To: <37876@apple.Apple.COM> Also, If, for example, you want to redirect a message to another object, thus sort-of-implementing class-based message-passing, you can do the following: ON Yowza Foo "Whoagolly, gee", whiz END Yowza ON Foo bar,cat,dog SEND "Foo bar,cat,dog" to button "Ziggy" END Foo This will preserve the (non-)existence of parameters, e.g., if the caller passed nothing, nothing continues to be passed, and individual parameters like "Whoagolly, gee" aren't evaluated until button "Ziggy" actually gets them. E.g., this example would pass "Whoagolly, gee" as the first parameter, bar, and "whiz" as the second parameter, cat. Wunderkind keyword empty is passed as dog. To do OOP-like programming, you'd have to come up with a way of having an object "know" its class and redirect messages to scripts set up as individual classes. You could also implement inheritance in this way, having the "class" object "know" its parent class. It would be a bit of work with lots of caveats and wouldn't exactly be blazing. I wish to God HyperCard supported classes and inheritance in a more OOP style. Rhetorical Complaint #336237: could somebody show me how to "send" a function call and get its result? - Brian