Files @ 3ffeb97c88a7
Branch filter:

Location: CSY/reowolf/testdata/parser/negative/8.pdl

MH
Add docs for implementing infinite types in a value based language.

Since we are a value based language and do not have the concept of
pointers, then if we want to lay out the memory of datatypes we run
into a problem when the types represent recursive datastructures:
these are infinite in size. So we have an algorithm for turning
some types into pointer-like things, such that we can lay everything
out in memory.
#version 100

import std.reo;

composite main(in a, out b) {
	channel c -> d;
	syncdrain(a, b);
}

// shadowing import
primitive syncdrain(in a, in b) {
	while (true) {
		synchronous {
			if (!fires(a) || !fires(b)) {
				block(a);
				block(b);
			}
		}
	}
}