> On Jan 14, 2025, at 10:48 PM, Chuck Guzis via cctalk <[email protected]>
> wrote:
>
> On 1/14/25 16:50, Van Snyder via cctalk wrote:
>> On Wed, 2025-01-15 at 00:32 +0000, Chuck Guzis via cctalk wrote:
>>
>> I have the 1401 FORTRAN-II compiler. I reverse engineered it from
>> operational tapes, then the author (Gary Mokotoff) sent me a scan of
>> his listings, that he thought he lost when he retired. My reverse-
>> engineered code has far more comments. It works in an interesting way:..
>
> I remember running 1620 card FORTRAN. It sounds much like the 1401
> version (no surprise). You first read in the compiler, then the source
> program; an intermediate deck is punched. The second pass of the
> compiler is then read in, followed by the intermediate deck punched in
> pass 1, then any subroutine decks.
>
> My recollection is that the precision could be specified by the user;
> integers could be up to 10 digits and floating mantissas could be up to
> 28 digits in length. An interesting feature was that subroutines were
> not required to have the same precision as the main program.
Yes, it certainly had that feature. I'm not sure about the limits, I thought
the integer limit was 99 digits. The reason for these options is that it's
directly supported by the hardware, which has arbitrary length integers and (up
to a limit I forgot) floating point mantissas. Given the encoding in the
hardware, it makes sense that you could mix and match; the hardware would
accept operands of whatever size you pick, in whatever combination you like.
So, for example, adding a 3 digit integer to a 300 digit integer would work
just fine.
paul