Lawrence A. Crowl, "Chrysalis++", Butterfly Project Report 15, Department of Computer Science, University of Rochester, Rochester, New York, 14627-0226, December 1986
The standard Butterfly Parallel Processor's programming environment uses the C programming language and the Chrysalis operating system. This report describes Chrysalis++, a C++ programming language interface to Chrysalis.
The binding strategy for the design of Chrysalis++ was to re-cast the error-prone, explicit Chrysalis object management in C into the implicit object management that occurs routinely in C++. Chrysalis++ merges creation and access of Chrysalis objects into the declaration of the variables used to represent them. This strategy provides the entire Chrysalis++ programming environment with one single object management strategy.
The development of Chrysalis++ highlighted some of the difficulties in mixing a single process high level language with a low level multiprocessor operating system. Bringing C++ and Chrysalis together demonstrated weaknesses in the C++ class mechanism and showed inconsistencies in Chrysalis object treatment.
This report is composed of three parts. The first part gives a background for this project and describes the resulting Chrysalis++. The second part describes the experiences in developing Chrysalis++ in porting C++ to the Butterfly and some of the weaknesses discovered in C++. Finally, the third part provides the details of Chrysalis++. This last part is intended only for actual users of Chrysalis++.