Onyx came into existence when the author started working on a text editor (since
mothballed) that was meant to be extensible. One of the goals was to provide
robust multi-threading. Unfortunately, when work began on the text editor in
1999, the author was unable to find any embeddable scripting languages that
provided adequate support for threads. Thus Onyx was born. The author was
familiar and enamored with Adobe's PostScript language, which has basic
threading support when used in a Display PostScript
environment, so Onyx
started off looking very similar. As Onyx matured, it deviated to the point
that it is now a truly different language, with different syntax, additional and
more powerful data types, better debugging capabilities, POSIX-related
functionality, more powerful threading, regular expressions, etc.
As this project grew far beyond what was originally expected, it became clear that in order to justify the effort being put into Onyx's design and implementation, Onyx would have to be usable for more than just a text editor. Therefore, Onyx has been structured such that it can be configured in a myriad of ways, with the hope that others will be able to easily make it fit their needs. This manual documents Onyx in its full glory without mention that features may be disabled, so there are portions that do not apply to Onyx interpreters that have been configured without Onyx's full feature set.
For software distributions, news, and additional project information, see http://www.canonware.com/onyx/. The author is interested in hearing how people are using Onyx, so please do not hesitate to email him comments or questions.