MODULE TProcVal; // A procedure value assigns to a PROC variable, and PROC converts to // ADDRESS (identical to ADR(foo)). Exit 42. FROM SYSTEM IMPORT ADR; PROCEDURE foo; BEGIN END foo; VAR p : PROC; a : ADDRESS; ExitCode : INTEGER; BEGIN p := foo; a := VAL(ADDRESS, p); IF a = ADR(foo) THEN ExitCode := 42 ELSE ExitCode := 1 END END TProcVal.