Article View: comp.lang.misc
Article #110Re: Modula-3, Fortran, Numbers & Aliens
From: Raul Deluth Miller-Rockwell
Date: Wed, 08 Apr 1992 20:16
Date: Wed, 08 Apr 1992 20:16
48 lines
3032 bytes
3032 bytes
Jim Giles: Whatever you call it, an identified may refer to something of different type in different parts of the program - something which I consider to be undesirable. In a sense, this is true, but I think it misses a big issue: there is a major distinction between 'type' and 'storage class'. 'type' is a concept used when talking about, for instance, the domain of a function. For example, 'prime number' might be considered a type. Or, less arbitrarily, 'symetric matrix' might be a type. 'storage class' is a concept used when talking about the machine representation of data. This might be considered a 'type', but only when discussing low-level function, or partial functions, on that machine. J will support the type 'symmetric matrix' in the same fashion it will support the type 'integers in the range 32767 down to -32768'. Forcing the programmer to concentrate on machine specific types is not a good way to encourage robust or portable code. Nor does it "force the programmer to not change the type of an identifier" -- at least, this is the case for problems where the machine type is only an approximation of the desired type. This is a complex issue. I don't think it's a good idea to remove responsibility for this complexity from the language implementor (who concentrates on porting the language to a specific machine) just to dump it on the programmer (who concentrates on whatever arbitrary problem domain she's interested in). Not if it means the language is less expressive... Anyways, in a sufficiently expressive language there is little need to re-declare identifiers. Re-declaring identifiers is only necessary when you're explicitly dealing with time, and even there it's not always necessary. But to prevent such activity altogether requires unwarranted assumptions about the problem domain of the programmer. [And, since similar facilities are available in the operating system, forces the programmer to system specific implementations when it might not be necessary.] On the other hand, if your goal is verbosity for its own sake, forcing special case solutions is, in general, a good way to achieve it. -- Raul Deluth Miller-Rockwell <rockwell@socrates.umd.edu> The U.S. government went another thousand million dollars into debt today.
Technical Details
Message-ID:
<ROCKWELL.92Apr8151628@socrates.umd.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!haven.umd.edu!socrates!socrates!rockwellReferences:
<ROCKWELL.92Apr5115242@socrates.umd.edu> <1992Apr6.193950.5862@newshost.lanl.gov> <STEPHEN.92Apr6203432@estragon.uchicago.edu> <id.KXOO.61F@ferranti.com> <1992Apr8.170023.1191@newshost.lanl.gov>Show Full Headers
Complete Article Headers
Newsgroups: comp.lang.misc Path: arc1-ca.pugleaf.net!sparky!uunet!haven.umd.edu!socrates!socrates!rockwell From: rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell) Subject: Re: Modula-3, Fortran, Numbers & Aliens In-Reply-To: jlg@cochiti.lanl.gov's message of 8 Apr 92 17:00:23 GMT Message-ID: <ROCKWELL.92Apr8151628@socrates.umd.edu> Sender: rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell) Organization: Traveller References: <ROCKWELL.92Apr5115242@socrates.umd.edu> <1992Apr6.193950.5862@newshost.lanl.gov> <STEPHEN.92Apr6203432@estragon.uchicago.edu> <id.KXOO.61F@ferranti.com> <1992Apr8.170023.1191@newshost.lanl.gov> Date: Wed, 8 Apr 1992 20:16:28 GMT