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