An efficient and portable implementation of a concurrent constraint language
AuthorGudeman, David Alan
AdvisorDebray, Saumya K.
MetadataShow full item record
PublisherThe University of Arizona.
RightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
AbstractThis dissertation describes a sequential implementation of a concurrent constraint programing language called Janus. The language implemented is somewhat different from the original Janus; it is a flat guarded language with assignment, similar to Strand and to FGHC. This implementation, called jc (Janus Compiler) compiles Janus source code to C, and then calls a C compiler to compile the C code. This technique gives us most of the performance benefits of compiling to machine code, but also has the portability of an interpreter. There are some special problems involved in the implementation of a language like Janus. First, Janus data is dynamically typed. Therefore each data value must carry type information and in principle every operation must check this type information in order to operate correctly. Second, procedure calls are much more common in Janus than in most other languages since every conditional and every loop must be coded as a call to a procedure. Third, Janus has the ability to suspend if a variable is evaluated before it is assigned a value. The jc implementation addresses these problems with a set of novel design decisions and optimization techniques. It was our goal to ensure, as far as possible, that programs that do not make essential use of the special features of Janus should not pay the performance penalty of having those features available. In particular, a program that is a fairly direct translation of a C program to Janus should execute about as fact as the original C program did.
Degree ProgramGraduate College