jc: An Efficient and Portable Sequential Implementation of Janus.
David Gudeman, Koenraad De Bosschere, Saumya Debray · 1992
: Janus is a language designed for distributed constraint programming [12]. This paper describes jc, an efficient and portable sequential implementation of Janus, which compiles Janus programs down to C code. Careful attention to the C code generated, together with some simple local optimizations, allows the system to have fairly good performance despite the lack (at this time) of global flow analysis and optimization. 1 Introduction Janus [12] is an instance of a concurrent constraint programming language [11]. This report describes jc, an efficient and portable sequential implementation of Janus that compiles down to C. A Janus program is a set of flat guarded clauses defining its procedures. It is in many respects similar to Strand [6] and Flat GHC [13]. There are, however, a number of differences: the most important of these is the two-occurrence restriction of Janus. This restriction states, essentially, that in any clause, a variable whose value cannot be inferred to be "fixed...