[
Lists Home |
Date Index |
Thread Index
]
Alaric B. Snell scripsit:
> > Or PL/I that Sean mentioned. I seem to remember a variable was assumed
> > to be a double if its name started with 'n' and other types for other
> > initials. So when you made a typo, nubmer_of_things was was not
> > reported as an error but rather contained garbage, and possibly of a
> > different type than what you expected. But of course it all worked
> > through autoconversions, until you suddenly got an underflow on what
> > you thought was an integer.
>
> Ugh! That sounds broken. However, if you're using a naming convention to
> signal types to the compiler, that's still static typing...
Yes indeed. For the record, PL/I used the Fortran convention: if a
variable name began with I, J, K, L, M, or N, it was predeclared an
integer (a 16-bit one in PL/I, the local integer type in Fortran);
otherwise, it was predeclared a single-precision float.
Modern Fortrans let you change the convention or override it altogether
with an "implicit" statement. Best practice is to say "implicit none"
at the top of each routine.
One way to detect such blunders as nubmer_of_things was to look through
the cross-reference listing for any variables only mentioned once.
They were essentially always such typos.
--
John Cowan http://www.ccil.org/~cowan cowan@ccil.org
To say that Bilbo's breath was taken away is no description at all. There
are no words left to express his staggerment, since Men changed the language
that they learned of elves in the days when all the world was wonderful.
--_The Hobbit_
|