Inline TRANSFORMs

This form of TRANSFORM is used in-line within the operation that uses it. The resulttype must be specified along with all the assignments. This form is mainly for use where the transform assignments are trivial (such as SELF := LEFT;).

Example:

namesIdRecord assignId(namesRecord L) := TRANSFORM
  SELF := L; //more like-named fields across
  SELF := []; //clear all other fields
END;

projected1 := PROJECT(namesTable, assignId(LEFT));
projected2 := PROJECT(namesTable, TRANSFORM(namesIdRecord,
          SELF := LEFT;
          SELF := []));
//projected1 and projected2 do the same thing