Self modifying code, lambda calculus - Re: ENIAC programming
Chuck Guzis
cclist at sydex.com
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.
http://bitsavers.informatik.uni-stuttgart.de/pdf/cdc/cyber/lang/fortran/60174900F_FTN_2.3_Ref_Jul72.pdf
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
http://bitsavers.informatik.uni-stuttgart.de/pdf/cdc/cyber/lang/cobol/60191200_COBOL_Reference_Jun67.pdf
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
implementations.
--Chuck
More information about the cctech
mailing list