[comp.lang.forth.mac] NEON

rfl@oddjob.uchicago.edu (Bob Loewenstein) (01/18/91)

After a long negotiation period with Kriya Systems, I have received written
permission to release Neon into the public domain. The letter from Kriya
reads:

"Kriya Systems, Inc. gives you [me] the permission to freely distribute for
scientific and educational purposes the programming language formerly known
as Neon, including the distribution of the source which has been released
to you.  You do not have the right to use the name Neon, as it apparently
had prior use by another company and is not a valid trademark of Kriya
Systems.  All commercial distribution rights are reserved by Kriya Systems,
Inc."

Since a few of us at the University of Chicago have modified the language
somewhat, and to comply with Kriya's wishes, we have renamed the language
Yerk, which is at least not an acronym for anything, but rather stands for
Yerkes Observatory, part of the Department of Astronomy and Astrophysics at
U of C.

For those who don't know about Neon, it was an object oriented, macintosh
targeted language based on a Forth Kernel with some major modifications.
It was developed and sold as a product by Kriya Systems from 1985 to 1988.
Because it is an extensible language, it was possible for us to keep it
compatible with new toolkit calls, new mac managers, etc.  We have modified
the nucleus to make improvements, but it is still an evolving language.  We
are releasing it at this time because it is a very useable and powerful
language/environment for the mac.

We have written many data acquisition and display programs with Yerk, as
well as graphical interfaces for instrument control (both telescopes and
instruments). While not part of this release, we have written interfaces
for color quickdraw for image processing programs, and a MacTCP interface
for network interface. These and other interfaces will probably be made
available on request, with the understanding that they were written for
specific applications and not as general support interfaces.

Some features of the language are:

	- defaulted early binding, with ability to late bind in almost any
		circumstance
	- inheritance (not multiple)
	- floating point (SANE)
	- many system classes and objects for mac interfacing:
		windows, controls, events, files, arrays, ordered-columns, menus,
		hierarchical and popup menus, handles, strings, mouse, quickdraw,
		modal dialogs, offscreen bitmaps, vbl, time manager, etc.
	- module (overlay) creation that are loaded only when necessary and
		may be purged from application heap memory.

Some forth extensions are:

	- local input parameters
	- named input variables
	- multiple cfa words (including vectors and values)
	- CASE
	- SELECT
	- 68000 assembler

We have used the language on the following macs:
mac+,se,se30,macII,IIci,IIx,IIcx. There is no reason to believe that it
won't work on any mac+ or beyond. Any system >= 6.0 is recommended.

The complete source files, an executable Yerk environment, and update
manual (MS Word 4.0 format) are available with anonymous ftp at
oddjob.uchicago.edu in ~ftp/pub/Yerk directory. They are compressed with
Stuffit and then binhexed. Please try to download these files in the
evening hours.  In the near future, these files may be added to the
MacTutor source code disk.

If anyone has any questions, feel free to contact me:

Bob Loewenstein
Yerkes Observatory
Williams Bay, Wi  53191
414-245-5555
rfl@oddjob.uchicago.edu