MODULE TProcAddr; // ADR(proc) and VAL(ADDRESS, proc) yield the same code address; a // procedure value converts to/from ADDRESS/PROC. Exit 42. FROM SYSTEM IMPORT ADDRESS, ADR; PROCEDURE foo; BEGIN END foo; VAR a : ADDRESS; ExitCode : INTEGER; BEGIN a := ADR(foo); IF a = VAL(ADDRESS, foo) THEN ExitCode := 42 ELSE ExitCode := 1 END END TProcAddr.