Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!voder!apple!lsr From: lsr@apple.UUCP (Larry Rosenstein) Newsgroups: comp.sys.mac Subject: Re: MacApp Sources... Message-ID: <373@apple.UUCP> Date: Thu, 11-Dec-86 16:43:36 EST Article-I.D.: apple.373 Posted: Thu Dec 11 16:43:36 1986 Date-Received: Sat, 13-Dec-86 22:35:20 EST References: <364@apple.UUCP> <125@trwspf.UUCP> Reply-To: lsr@apple.UUCP (Larry Rosenstein) Organization: Advanced Development Group, Apple Computer Lines: 57 Keywords: MacApp, Smalltalk In article <125@trwspf.UUCP> vito@trwspf.UUCP (Herb Barad) writes: > >When will this happen and with which languages. Personally, I would like >to see better access to the toolbox from Smalltalk. In fact, I would like >to prototype applications in Smalltalk and (when finished with what I've >got), convert the Smalltalk code into a language (Object Pascal or >Object Assembler) and get real performance!!! > In general, there are 2 ways to be compatible with MacApp. First is to adopt the MPW object module format and the Object Pascal method call runtime scheme (which was described in the December MacTutor, by the way). If you do this, then you can use a pre-compiled version of MacApp and only have to convert the MacApp interfaces into your language. Second is to translate MacApp into your lanaguage. This is a relatively big job, because MacApp is about 20,000 lines of code. If any language developer is interesting in supporting MacApp s/he can write to the MacApp product manager: Harvey Alcabes Apple Computer 20525 Mariani M/S 27-S Cupertino, CA 95014 It interesting tha Smalltalk was mentioned, because there is an ongoing research project at Apple investigating putting MacApp in Smalltalk. This was demonstrated at OOPSLA last October, but is not currently available. (It is based on a very old version of MacApp and is somewhat fragile.) The Smalltalk runtime is very different from that of Object Pascal, so the Smalltalk people wrote a translator (in Smalltalk). The translator did not do a 100% job, so they then hand edited the result. They are able to run some of the simple sample programs and switch back and forth from the Macintosh world to the Smalltalk world. (They implement 2 different screens.) While the MacApp program is running, you have the usual Macintosh user interface (desk accessories, pull-down menus, etc.). As you might imagine, there are a lot of issues that still need to be resolved, which is why it is a research project. For example, there is no Smalltalk to Pascal translator. Second, there are Pascal constructs that Smalltalk doesn't support such as VAR parameters. Third, some Toolbox calls require a procedure pointer as a parameter, which is difficult to do in Smalltalk. Finally, there are issues involved with memory management because the Smalltalk heap is separate from the Macintosh heap. -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.CSNET