Article View: comp.sys.mac
Article #13772Re: MacApp Sources...
From: Larry Rosenstein
Date: Thu, 11 Dec 1986 21:43
Date: Thu, 11 Dec 1986 21:43
57 lines
3223 bytes
3223 bytes
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
Technical Details
Message-ID:
<373@apple.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!voder!apple!lsrReferences:
<MS.V3.18.rs4u.80021707.lyndora.sun3.81.0@andrew.cmu.edu> <364@apple.UUCP> <125@trwspf.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!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: <MS.V3.18.rs4u.80021707.lyndora.sun3.81.0@andrew.cmu.edu> <364@apple.UUCP> <125@trwspf.UUCP> Reply-To: lsr@apple.UUCP (Larry Rosenstein) Organization: Advanced Development Group, Apple Computer Lines: 57 Keywords: MacApp, Smalltalk