INFO-MAC Digest V3 #25

Skip to first unread message


Jul 23, 1985, 10:19:55 PM7/23/85
From: John M. Agosta <>

INFO-MAC Digest Wednesday, 24 Jul 1985 Volume 3 : Issue 25

Today's Topics:
Control Cs in files
NEON! Review (long, long message)
How to get PICTs into Lisa RMaker
Thunderscan -> laserwriter software?
NEON! v.s. MacApp?
Imagewriter as a regular printer?


Date: 20-Jul-85 18:18 PDT
Subject: Control Cs in files

Re: Daniel Breslau's posting in Info-Mac V3#20 about control Cs in Modula-2
files. If they are using the Apple program editor (the version we have was
written by Bill Duvall and is copyrighted by Apple and Consulair Corps), it
will place control Cs in the file if you hit the enter key. They do NOT show
up when you do a "Show Invisibles", so your filter seems to be the best
approach (short of not hitting enter). Not good, particulary if you are
preparing text for upload to a DEC type system!

Bill Frantz - Key Logic - BSF...@Office-6.ARPA


Date: Fri, 19 Jul 85 18:11 PDT
From: pierso...@Xerox.ARPA
Subject: NEON! Review (long, long message)

For those of you who have heard of NEON! (from Kriya Systems) and are
curious about it, the following are my impressions following a week or
so of reading the manuals and a few days of playing with the system.

1. NEON! is a new language, similar to Forth in many ways. There are
several enhanced features which move the language away from 'pure'
Forth, and into the realm of object oriented languages.

2. If you have programmed in Forth before, you may be pleasantly
surprised by the advances over a more standard Forth, aside from the
object oriented extensions.

For instance, the Forth concept of variable (which uses @ and ! to fetch
and store from the variable), has been replaced by a type of entity
called a 'value'. There is a prefix assignment operator which sets the
value: i.e. the phrase ' 4 -> alpha ' sets the value of alpha to be
four. The expression ' alpha 2 + ' would then evaluate to 6. Notice
the difference from the standard Forth variable, which would have
required an expression like ' alpha @ 2 + '. This little bit of
wizardry is done with multiple cfa's, and NEON! documents a few useful
defining words to allow the creation of similar entities yourself.

Even better, you can cause the elements on top of the stack to
temporarily become named values as you execute a word. An example:

: sumsquares { a b -- a^2+b^2 }
a a * b b * +

in NEON! is equivalent to

: sumsquares ( a b -- a^2+b^2 )
dup * swap dup * +

in MacForth. I personally find the former far more readable.
Dyed-in-the-wool Forth enthusiasts may disagree, of course. You are not
forced to use this feature, which obviously involves a certain amount of
overhead, but for complex word definitions this feature is a dream come

3. NEON! uses the Macintosh parameter stack as its own main stack.
This makes toolbox calls a breeze. All you have to do is put the
parameters on the stack in the order you see them in 'Inside Macintosh'
and follow it with a call to the toolbox. For those calls that return a
value, a dummy word is placed on the stack just prior to the call to
hold the return. This rather simple mechanism allow NEON! to support
virtually EVERY toolbox routine with almost no overhead. Nice.

4. NEON! includes a good basic set of object definitions, and a
workable object system. This simplifies working with windows,
rectangles, points, handles, etc. This was, of course, the reason for
implementing NEON! in the first place. I personally found the language
to be far superior to MacForth in dealing with such entities. It is
easier to produce powerful applications in NEON! than in any other
Macintosh language I have seen.

5. The language supports an interesting module facility. These modules
may, of course, define new objects and words. Objects defined within a
module can only be instantiated within that module. The module is
compiled into a binary form, and words can be 'imported' into the main
application in much the same manner as the similar feature in Modula-2.
Most importantly, these modules can be loaded and purged rapidly during
execution, allowing segmented applications (larger than can fit in
memory) to be created with little or no effort on the programmer's part.
This is perhaps my favorite feature of the language.

6. The system includes a utility to produce 'clickable' applications
programs which run without any other support. This is a complex process
by NEON! standards, but is no worse than the procedures I've seen for
the various C compilers around. The Kriya 'Typing Tutor' application
was supposedly written in an early version of NEON!, so it obviously is
really capable of producing salable applications.

7. NEON! is rather Mac specific. Many of the basic classes are
intimately related to the Mac's operating system. Don't look for much
portability to other machines anytime soon.

8. I had hoped for a nice in-line assembler, but as yet none exists.
This is a minor deficiency that I expect to see corrected in relatively
short order. There is no floating point support, but I suspect it would
be very easy indeed to write an interface to SANE.

9. The sources for all of the basic object classes, interfaces, and
even the programming environment front end come with the system. It is
very instructive to the novice NEON! programmer to look over this code
to see how the front end was implemented. The documentation includes an
excellent 19-lesson tutorial, documentation on the pre-defined object
classes, and the NEON! vocabulary. Also included is an extensive table
of system equates. Overall, the documentation appears complete and of
relatively high quality.

All in all, I am pleased with NEON!. For the $150 price, it is a true
bargain as application environments go. I believe the price has gone up
to $225 now, but it is still a worthy programming system for a serious
Macintosh developer.

I am not affiliated with Kriya Systems in any way other than as a
satisfied customer.

Kurt Piersol


Date: Tue, 23 Jul 85 11:10:56 cdt
From: Alan Painter <ots!al...@rice.ARPA>
Subject: How to get PICTs into Lisa RMaker

I received 2 answers to my "PICTs into Lisa Rmaker" query and
they solved the problem. Just in case there are others who
aren't familiar with the process (as seems to be the case from
the first letter in the last digest) I am giving a complete
description of the process.

1) Create a picture in MacPaint and (using the lasso) paste it into
the scrapbook.
2) Use REdit to copy the PICT resource out of the scrapbook and
into a file (one picture per file). Do this by copying a file
containing a resource of some sort and cutting out all of the
resources and then paste the PICT into the emptied file (there
may be a better way of getting an empty file, but I couldn't
find one).
3) Transfer the file to the Lisa using MacCom. It will show up
as a .RSRC file on the Lisa (with an associated .MFEN file
that can be deleted and ignored.)
4) Translate the .RSRC file (which is in REdit format) into a .RSRC
file in RMaker format. The formats and the method for doing this
are desribed below. I wrote a trivial Lisa Pascal program for
doing this.
5) Include the .RSRC file into the RMaker file as a resource of type
PICT in the manner described in the "Putting Together" chapter
of Inside Mac. It is essentially the same way that CODE is
included except that the resource ID is declared with it.

Note that steps 3 and 4 are interchanged if the PICT format is
translated from REdit to RMaker in the Mac itself, rather than
on the Lisa.

Here's a description of the formats that I received from:

>The PICT resource obtained from REdit has a resource header which
>must be removed for the file to input to RMaker (so that RMaker can
>put it back again!) If you DumpPatch your picture file (assuming
>it has just one PICT in it) you will find that the header is the
>first half of block 0; the next four bytes are a LongInt giving the
>length of the resource; the PICT itself starts at byte 260 of block
>0, and starts with 5 integers (words), being the length again followed
>by the picture bounds.rect. The PICT ends with an FF byte.
>I wrote a small Pascal program to cut a sequence of bytes from any
>file (perhaps you can do this with some utility supplied but I
>couldn't see how); I then cut length+2 bytes starting from block 0,
>byte 260. The file formed is then in the correct format for RMaker.
>This procedure will also work for capturing other resources, including
> Neville Smythe, Maths, Australian National University
Alan Painter


Date: Tue, 23 Jul 85 09:53:55 PDT
Reply-to: DAVEG%SLACVM.BITNET@Forsythe
Subject: thunderscan -> laserwriter software

Date: 23 July 85 09:54-PST
Subject: thunderscan -> laserwriter software

Date: 23 July 1985, 09:51:09 PST
From: David M. Gelphman 415-854-3300 x3186 DAVEG at SLACVM
Subject: thunderscan -> laserwriter software

Among the many jewels of information contained in the MAUG conference
with Andy Hertzfeld was a mention of a program which allows printing
of a thunderscan document on the laserwriter written by someone named
Bill Bates. Does anyone have any details about this program such as
what the capabilities are and who sells it? David Gelphman


Date: 19-Jul-85 20:54 PDT
From: Kirk Kelley <KIRK.TYM@OFFICE-2>
Subject: Re: NEON! Review

From: pierso...@Xerox.ARPA

... It is easier to produce powerful applications in NEON! than in any
other Macintosh language I have seen.

Has anyone had experience with the recently announced object-oriented
MacApp in any of the various languages implementing it? I would like
to hear some impressions of these. Seems like they would make the
most appropriate comparison to Neon. I'm curious how related the Neon
classes are to MacApp, since Neon appears to fill the niche for the

-- kirk


Date: Tue 23 Jul 85 08:20:08-PDT
From: Steve Dennett <DEN...@SRI-NIC.ARPA>
Subject: Imagewriter

We have an Imagewriter that we'd like to use with other pc's than our
Mac. Does anyone know if the Imagewriter supports Epson or any other
printer's graphics? Or is there an MSDOS program that let's it be
used by programs such as Lotus 123? Thanks.

Steve Dennett


End of INFO-MAC Digest

Reply all
Reply to author
0 new messages