Self modifying code, lambda calculus - Re: ENIAC programming

Chuck Guzis cclist at
Mon Sep 21 11:35:19 CDT 2015

On 09/21/2015 02:24 AM, Johnny Billquist wrote:

> CHAIN is in no way similar to overlays. COMMONs, if available, is a
> nice way to preserve some data between different programs running.
> CHAIN is (like someone said), about the same as a LOAD followed by a
> RUN.
> So, how is this different than overlays? Well, with overlays, you
> only replace parts of your code. Some other parts stay around, as
> well as all volatile data. So, you can still call code that is in the
> resident part of memory, and which is not replaced by a different
> overlay.
> And yes, there are BASICs that can work with overlays. See DECs
> BASIC+2. Has both commons, overlays and CHAIN. And if run under
> RSTS/E if also have a core common block, which can be used to pass
> data between programs when CHAINing.
> I wonder what FORTRAN-style overlay hierarchy means. I know of
> overlays, and on DEC OSes, it is a common technique, provided by the
> linker, and is not tied to a specific language.

That's true--but a first encounter with the notion, at least for me, 
involved FORTRAN, not any language.  For example, consider that in the 
CDC FTN reference, overlays are put ahead of I/O.

PDF page 77 et seq.

I did say that the CHAIN statement was the equivalent of overlaying the 
(0,0) overlay and perhaps the above reference shows what I mean.

COBOL also used overlays, and they were part of the standard language 
and worked somewhat differently.  See

PDF page 73 et seq.

I do know what the BASIC CHAIN statement means.

In the early 80s, I headed a team that implemented a multi-user 
commercial BASIC on an 8085 micro system, eventually migrated to XENIX 
and was in use in some places up until a few years ago.  I still have a 
couple of the design documents in my files--as well as the mandatory 
(for then) t-shirt and coffee mug.

One of the lessons I learned from the experience is that compilation to 
native machine code does not always result in faster code than P-code 


More information about the cctalk mailing list