Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ucla-cs!sdcrdcf!ism780c!darryl From: darryl@ism780c.UUCP (Darryl Richman) Newsgroups: comp.lang.modula2 Subject: Tyro questions Message-ID: <4740@ism780c.UUCP> Date: Mon, 1-Dec-86 16:06:45 EST Article-I.D.: ism780c.4740 Posted: Mon Dec 1 16:06:45 1986 Date-Received: Tue, 2-Dec-86 22:01:59 EST Reply-To: darryl@ism780c.UUCP (Darryl Richman) Distribution: net Organization: Interactive Systems Corp., Santa Monica, CA Lines: 27 I am a neophyte in Modula 2 land, so if these questions are simpleminded, please be patient with me. I have Wirt's PIM2, edition 2 (I can't locate a copy of edition 3). 1) If I build an application with multiple modules, what, if anything, am I guaranteed about each module's initialization code? (I've looked at several books and they either ignore the issue or say contradictory things). In particular, am I guaranteed any particular order of execution? What happens if one module's initialization code bootstraps the application, but other modules haven't had a chance to execute yet? 2) What did Wirt change from edition 2 to 3? In particular, what does he say about NEWPROCESS, TRANSFER, and IOTRANSFER? (My compiler, which is from ETH, does not supply these procedures and implies that they are not required. Instead they have a process stacking paradigm that's not as powerful.) 3) Is it really considered a feature of the language that, given frp is a function returning a pointer, the expression "frp()^.xyz" is not allowed and must be coded as "tempP := frp(); tempP^.xyz"? Thanks very much for any light you can shed! --Darryl Richman, INTERACTIVE Systems Corp. ...!cca!ima!ism780!darryl The views expressed above are my opinions only.