MODULE TNested; // Wirth-style local module: EXPORT list, a BEGIN init body, and use // of an exported variable and procedure from the enclosing scope. // Exit 42. VAR ExitCode : INTEGER; MODULE Inner; EXPORT y, SetY; VAR y : INTEGER; PROCEDURE SetY (v : INTEGER); BEGIN y := v END SetY; BEGIN y := 2 END Inner; BEGIN ExitCode := y; // 2 (Inner's init ran) SetY(40); ExitCode := ExitCode + y // 2 + 40 = 42 END TNested.