Files @ 3ffeb97c88a7
Branch filter:

Location: CSY/reowolf/testdata/parser/positive/5.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;
import std.buf;

primitive main(in a, out b) {
    while (true) {
        synchronous {
            if (fires(a) && fires(b)) {
                msg x = get(a);
                short y = readShort(x, 0);
                y++;
                writeShort(x, 0, y);
                put(b, x);
            } else {
                assert !fires(a) && !fires(b);
            }
        }
    }
}