Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site pucc-i
Path: utzoo!watmath!clyde!cbosgd!ihnp4!inuxc!pur-ee!CS-Mordred!Pucc-H:Pucc-I:ags
From: ags@pucc-i (Dave Seaman)
Newsgroups: net.lang
Subject: Re: Turing the first?
Message-ID: <888@pucc-i>
Date: Wed, 6-Feb-85 16:39:26 EST
Article-I.D.: pucc-i.888
Posted: Wed Feb  6 16:39:26 1985
Date-Received: Fri, 8-Feb-85 02:08:52 EST
References: <8900018@uiucdcsb.UUCP> <18218@lanl.ARPA> <428@ucsfcgl.UUCP> <870@pucc-i> <436@ucsfcgl.UUCP>
Organization: Purdue University Computing Center
Lines: 37

>  I admit not to having read Babbage's original paper on this, but my
>  understanding was that he used the phrase "eating its own tail" to
>  refer to conditional branches based on its own calculated values.  I
>  was talking about code which modified itself.  

According to Lady Lovelace, the Analytical Engine could store two kinds
of numbers:  those which represent "quantities" and those which represent
"operations."  As she explained,

	"...one main reason why the separate nature of the science
	of operations has been little felt, and in general little
	dwelt on, is the SHIFTING meaning of many of the symbols used
	in mathematical notation.  First the symbols of OPERATION are
	frequently also the symbols of the RESULTS of operations.
	We may say that these symbols are apt to have both a RETRO-
	SPECTIVE and a PROSPECTIVE signification.

	"...whenever numbers meaning OPERATIONS and not QUANTITIES
	(such as the indices of powers) are inscribed on any column
	or set of columns, those columns immediately act in a wholly
	separate and independent manner, becoming connected with the
	OPERATING MECHANISM exclusively, and re-acting upon this.
	They never come into combination with numbers upon any other
	columns meaning QUANTITIES; though, of course, if there are
	numbers meaning operations upon n columns, these may COMBINE
	AMONGST EACH OTHER, and will often be required to do so, just 
	as numbers meaning QUANTITIES combine with each other in any 
	variety."  [All emphasis in the original]

The single example which Ada Lovelace chose to illustrate operations,
indices of powers, is not what we would call self-modifying code
today.  The description is sufficiently general, however, to include
the concept of calculating arbitrary "operations" and then carrying
them out.  It appears that Ada may also be the inventor of strong
typing!
-- 
Dave Seaman			 ..!pur-ee!pucc-i:ags