[ont.micro.mac] MacFORTH peek and question

info-mac@utcsrgv.UUCP (info-mac) (04/28/84)

Date: 26 Apr 1984 1831-PST
Subject: MacFORTH peek and question
From: Mike Schuster <uw-beaver!MIKES@CIT-20>
To: info-mac@SUMEX-AIM.ARPA

(very subjective opinions lie ahead)

CSI is offering $5.00 for every system bug you find in their MacFORTH
interpreter, Level 1, and $1.00 for every bug in the rough draft of
their documentation.  If they follow through, I just might get enough
back to pay for the whole thing.  I received the software yesterday
afternoon and have found 10 bugs system bugs.  I've written 2
programs.  Most of the problems have work arounds.

One bug is serious though, the word append.blocks dies for an address
error.  Does anyone know a workaround?  This routine, is quite
important.  My best workaround so far is to copy the example files
supplied, clear them out, and fill them with my own code.

Their claim that a lot of the Mac is accessible is true, including
windows, menus, graphics, fonts, etc.  There are several areas that
they either haven't implemented, or haven't documented well in the
rough draft, including sound, serial i/o, window controls, dialogs,
and an ability to define resource files.  I haven't experimented
enough with the graphics routines to see just how much of quick-draw
is available.  However, you can create your own boxy windows and
menus.  CSI claims that Level 2 ($100 extra) will implement and
document more of this stuff.  (an assembler, too?)

Their on-line tutorial is quite inadequate, in my opinion.  It only
covers the trivial FORTH stuff -- none of the Macness.

They provide a cut and paste editor that is equivalent in
functionality to the apple menu Note-pad.  Its written in FORTH and
simply makes calls on the toolbox's text edit routines.
Unfortunately, none of the basic text edit toolbox routines are
documented, so I've had to use my copy of Inside Mac heavily to patch
the editor.  Needless to say, its buggy, although quite usable.  At
least they included the source.  Also, the system is NOT copy
protected.  Thank you, CSI.

There is one basic problem with the system, and that is this: it uses
the standard FORTH blocked file structure for programs.  MacFORTH is
REALLY FAST and COMPACT in its runnable image, but on disk in symbolic
form its a disk hog.  For example, the editor source consists of 22 1k
byte blocks.  Each block is has about 15 or so lines of source code in
it.  Blanks at end of lines don't seem to be compressed.  I guess this
is the state of most FORTH systems, but to me its seems like a joke.
Another way to look at it is this: the editor is 5 pages of code that
just calls the toolbox routines, but it takes 22k on disk in symbolic
form.  I havn't yet figured how to take a snapshot of the vocabulary
and core image and same it on disk.  Maybe its not available in Level 1.

A bad analogy: Look at what is being done with MacBasic and MacPascal,
and then consider Microsoft's released MS-Basic.  MacFORTH feels like
the latter, rather than the former two.  It seems to me that a tight
FORTH could be done with the same insight, concern, and work that
brough us the Macintosh itself.  Am I dreaming? Am I asking too much?
Has Apple done us a disfavor by spoiling us?  I hope not.

As of today, CSI is providing no telephone technical support.  So be
ready to dive in.  

By the way, programming the Mac is delightful!

Mike
(mikes@cit-20)
-------