🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.modula2
Article #3666

disgust at DEC

#3666
From: Vincent Broman
Date: Fri, 15 May 1987 15:36
36 lines
2645 bytes
Said heiser@ethz.uucp --
> I had a look at the DEC [Powell] compiler when we got it and was disgusted....
> Probably the people who wrote it never programmed any Modula-2.
> ... Much worse: definition modules are not compiled (and there is no compiler
> option to fix that). Hence:
>    - no timestamping, no consistency checks when modifying definition modules.
>      Any real Modula-2 programmer estimates that as one of the most powerful
>      language features when developing large systems.
>    - identifiers imported in the definition module are not known in the
>      implementation module, they must be imported again. This will generate a
>      compile-time error in most other Modula-2 systems

Though much that DEC does could make strong men queasy, the points
mentioned above do not seem questionable.

Simply stated, mod compiles .def files by means of the identity
transformation, (saves time, you know :-) and the timestamp is
available in the file's inode.  I suppose the .o file stores the
last-mod-time for all DEFINITION MODULEs IMPORTed and compares them for
consistency at link time.  Nothing more could be required.  The _only_
reason one "compiles" DEFINITION MODULEs into binary form is to avoid
lexing/parsing/checking them _every_time_ they are IMPORTed.

As I read PIM2 ed3, identifiers IMPORTed into a DEFINITION MODULE
cannot be visible in the matching IMPLEMENTATION MODULE unless
IMPORTed.  While defs and imps come in pairs, they are distinct
MODULEs.  Perhaps the rule causing confusion was the one that makes
_objects_declared_ in the def available in the imp without IMPORT.
As a practical matter, though, it is hard to imagine a useful
instance where one IMPORTs an identifier into a DEFINITION MODULE
which is not then needed in the matching IMPLEMENTATION MODULE.

Let's not puff on the subject of who is a "real Modula-2 programmer", hey?

Vincent Broman,  code 632, Naval Ocean Systems Center, San Diego, CA 92152, USA
Phone: +1 619 225 2365    Internet: broman@nosc.mil   Uucp: sdcsvax!nosc!broman
Technical Details
Message-ID: <8705151536.AA07897@bugs.nosc.mil>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!mcnc!gatech!rutgers!sri-unix!sri-spam!ames!sdcsvax!ucbvax!BUGS.NOSC.MIL!broman

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!mcnc!gatech!rutgers!sri-unix!sri-spam!ames!sdcsvax!ucbvax!BUGS.NOSC.MIL!broman
From: broman@BUGS.NOSC.MIL (Vincent Broman)
Newsgroups: comp.lang.modula2
Subject: disgust at DEC
Message-ID: <8705151536.AA07897@bugs.nosc.mil>
Date: Fri, 15-May-87 11:36:21 EDT
Article-I.D.: bugs.8705151536.AA07897
Posted: Fri May 15 11:36:21 1987
Date-Received: Sun, 17-May-87 00:17:52 EDT
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: world
Organization: The ARPA Internet
Lines: 36