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) -------