Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!munnari.oz.au!metro!seagoon.newcastle.edu.au!cc.newcastle.edu.au!eepjm From: eepjm@cc.newcastle.edu.au Newsgroups: comp.lang.modula2 Subject: Re: definition module loops Message-ID: <1991May13.144804.10097@cc.newcastle.edu.au> Date: 13 May 91 04:48:02 GMT References: <1991May12.071720.29928@ibmpcug.co.uk> <76170@eerie.acsu.Buffalo.EDU> Organization: University of Newcastle, AUSTRALIA Lines: 22 In article <76170@eerie.acsu.Buffalo.EDU>, bowen@cs.Buffalo.EDU (Devon E Bowen) writes: > > In article <1991May12.071720.29928@ibmpcug.co.uk>, gmurray@ibmpcug.co.uk (G Murray) writes: > |> Stony Brook explicitly states that circular imports are not allowed. > > Sounds good to me (a lot easier to implement). But at the end of section > 14 of the Report on The Programming Language Modula-2 in Wirth's book, he > says > > If circular references occur among modules, their order of > initialization is not defined. > > Which implies this circular nature does exist. Well, I guess I'll just There are two separate issues here. To determine the order of initialisation, you need to look at the definition modules AND the implementation modules. The original question was about definition modules only. My impression is that the difficult sort of circularity (involving definition modules) is always illegal, and the other sort is legal. Peter Moylan eepjm@cc.newcastle.edu.au