ISETL-LINDA

ISETL-LINDA is an imperative interpreted language, built on top of Gary Levin's ISETL language. ISETL (Interactive SET Language) is novel, because it has as its major data structures sets and tuples.

We have embedded the LINDA primitives into ISETL. To do this, we introduced a type of bags, which represent tuple spaces, and templates, which are the counter-part of tuples. Primitives allowed are out, in, rd, collect, copy-collect and eval

The interpreter runs on our Meiko Computing Surface, which has 32 T800 Transputers. It uses the York Linda Kernel. eval is implemented using a number of dedicated engines which execute closures (code packages). These engines make use of runp, a low-level transputer operation for creating threads.

Initial results suggest that the language is reasonable for small parallel programs. Some works is still required, especially where eval is concerned. At present, a closure contains all possible code fragments; this means that starting a new process means sending messages which are often several Kilobytes in size. So, although the closures execute quite quickly, their packaging and unpackaging time is huge.

For further details, see our paper, ISETL-LINDA: Parallel programming with bags


Linda Home Page