public pub2; proc main() { // Create a couple of new publics var pub0 = new Public("pub0"); var pub1 = new Public("pub1"); // Create a new class using those, plus an existing public var cls = new Class("cls", {pub0, 123, pub1, "hello", pub2, 3.14}); "New class:\n"; forall (cls.(pub)) { "", pub, ": ", cls.(pub), '\n'; } "\n"; // Note that classes created with "new Class" are *not* readonly cls.(pub0) = 456; // Create an instance of that class var obj = new cls(); "New instance:\n"; forall (obj.(pub)) { "", pub, ": ", obj.(pub), '\n'; } }