[fa.info-mac] Clascal

info-mac@uw-beaver (01/03/85)

From: winkler@harvard.ARPA (Dan Winkler)



From the Lisa Clascal manual, how's this for emphasis:

	"If you are sure and absolutely certain and fully convinced
	 that the call will never allocate and never cause the heap 
	 to compact..."

And from that same document, how's this for an obscure bug:

	"...the NV bug.  This is a bug in LisaBug that occurs when
	 one of your procedures contains the characters 'NV' next to
	 each other in that order and this combination is also on a
	 word boundary.  LisaBug suddenly thinks it has found a link 
	 instruction, or something, and for some strange reason, 
	 this makes LisaBug forget all the rest of the symbols in that 
	 segment!...The solution is to rename the procedure containing 
	 the NV."

Clascal seems like a good language, at least from reading the manual.
It is a superset of Lisa Pascal with classes.  I expect its biggest
advantage will be the generic Macintosh Application that automatically
does all the detailed things like initializing the toolbox in the right
order, setting up the apple menu, aligning scroll bars in windows,
catching events, allocating master pointers, and everything else that
every Mac program should do.  Apple is taking some care to ensure that
the generic application does all those things as well as possible.
Larry Rosenstein (lsr@apple.csnet) asked you to send him any tricks you
know so they could be built in once and for all.  Then by defining your
own subclasses, you can add to or override any part of the generic
application you want.  The Clascal system will eventually (soon they
say) be native on the Mac.  You will also be able to write methods
in assembly language for efficiency if you want while still taking
advantage of the structure of Clascal.

Now, on a completely different topic, the Scrap Manager section of
Inside Mac says that it's a good idea to set up your application so
that the first segment loaded is a very small one that does nothing
but check whether the scrap is too big (InfoScrap) to allow loading the
rest of the application and if so writes it out to disk (UnloadScrap).
But in Sumacc, there is only one segment and it's your entire
application.  So will large Sumacc applications fail when the scrap
is also large?

Dan. (winkler@harvard)