next up previous contents index
Next: Contents Up: Onyx Manual, Version 5.1.2 Previous: Onyx Manual, Version 5.1.2   Contents   Index

Preface

This manual primarily documents the Onyx programming language. However, Onyx is designed to be run either as a stand alone program or as an embeddable interpreter, so the manual also documents different aspects of the implementation that are important when embedding Onyx into another program.

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$^{TM}$ language, which has basic threading support when used in a Display PostScript$^{TM}$ 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.


next up previous contents index
Next: Contents Up: Onyx Manual, Version 5.1.2 Previous: Onyx Manual, Version 5.1.2   Contents   Index
Jason Evans 2005-03-16