TOC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 13, 14


4.1) What restrictions are there on the types of functions that can be eval'd?

The return value of the function must be a scalar type. Aggregate types are not allowed.

4.2) What restrictions are there on the types of parameters that can be passed to eval'd functions?

Parameters to eval'd functions must be scalar types, with a limit of 16 parameters.

4.3) What restrictions are there on the values that can be put into a tuple?

The only restriction is that pointer values can't be put into tuples. Values pointed to by pointers can be put into tuples as in the example:

  struct x *p;
		  out("foo", p:sizeof(struct x));

Normal structures and arrays can easily be put into tuples, for example:

  struct x a;
		  double b[100];
		  out("bar", a, b);

4.4) Is the use of inp and rdp recommended?

These operations should be used with caution, as they are more easily abused then other operations. They are timing dependent, and can lead to race conditions. This is particularly true since outs execute asynchronously in Network Linda. Usually, thinking about the problem will lead to a better solution using in or rd.

Nevertheless, they can be useful at times. The important thing is not to draw any strong conclusions from an inp or rdp failing unless you really know what you are doing.



TOC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 13, 14

Linda (pdf)
Paradise (pdf)


White Papers (PDF)
Virtual Shared Memory
Virtual Supercomputing
Copyright © 2007 Scientific Computing Associates, Inc.