<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ada83.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vmo</id>
	<title>Ada 83 Memory - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://ada83.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vmo"/>
	<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Special:Contributions/Vmo"/>
	<updated>2026-07-27T08:48:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=203</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=203"/>
		<updated>2025-06-11T08:32:36Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* The ENST theses and P.Kruchten / J.P.Rosen documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
In the end of 1986, two theses are presented at the ENST (Ecole Nationale Supérieure des Télécommunications) a work done in collaboration with the NYUADA project team where [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar] is then working.&lt;br /&gt;
&lt;br /&gt;
* Philippe Kruchten : [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
This is a very important reference for understanding Ada/Ed type template mechanism.&lt;br /&gt;
&lt;br /&gt;
* Jean Pierre Rosen : [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
The DIANA intermediate representation revision 4 of 1986 [[:File:DIANA-Ref-Manual-1986-rev4.pdf  | Intermetrics 1986 ]]&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;br /&gt;
&lt;br /&gt;
==== Ada 83 compiler research ====&lt;br /&gt;
&lt;br /&gt;
The these from J. van Katwijk at Delft university in 1987 describing the &amp;quot;Ada-&amp;quot; (Ada minus) compiler : [[:File:Thesis J Katwijk AdaMinus compiler 1987.pdf|thesis Katwijk]]&lt;br /&gt;
&lt;br /&gt;
A rare article on the generics implementation in Ada 83 :&lt;br /&gt;
[[:File:G Bray Generics.pdf|Implementation Implications of Ada Generics G.Bray sept 1983 ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=202</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=202"/>
		<updated>2025-05-18T13:23:03Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* Ada 83 compiler research */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
The DIANA intermediate representation revision 4 of 1986 [[:File:DIANA-Ref-Manual-1986-rev4.pdf  | Intermetrics 1986 ]]&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;br /&gt;
&lt;br /&gt;
==== Ada 83 compiler research ====&lt;br /&gt;
&lt;br /&gt;
The these from J. van Katwijk at Delft university in 1987 describing the &amp;quot;Ada-&amp;quot; (Ada minus) compiler : [[:File:Thesis J Katwijk AdaMinus compiler 1987.pdf|thesis Katwijk]]&lt;br /&gt;
&lt;br /&gt;
A rare article on the generics implementation in Ada 83 :&lt;br /&gt;
[[:File:G Bray Generics.pdf|Implementation Implications of Ada Generics G.Bray sept 1983 ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=200</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=200"/>
		<updated>2025-05-18T08:28:46Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* Ada 83 compiler research */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
The DIANA intermediate representation revision 4 of 1986 [[:File:DIANA-Ref-Manual-1986-rev4.pdf  | Intermetrics 1986 ]]&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;br /&gt;
&lt;br /&gt;
==== Ada 83 compiler research ====&lt;br /&gt;
&lt;br /&gt;
The these from J. van Katwijk at Delft university in 1987 describing the &amp;quot;Ada-&amp;quot; (Ada minus) compiler : [[:File:Thesis J Katwijk AdaMinus compiler 1987.pdf|thesis Katwijk]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=199</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=199"/>
		<updated>2025-05-18T08:27:56Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* DIANA Intermediate Representation documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
The DIANA intermediate representation revision 4 of 1986 [[:File:DIANA-Ref-Manual-1986-rev4.pdf  | Intermetrics 1986 ]]&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;br /&gt;
&lt;br /&gt;
==== Ada 83 compiler research ====&lt;br /&gt;
&lt;br /&gt;
The these from J. van Katwijk at Delft university in 1987 describing the &amp;quot;Ada-&amp;quot; (Ada minus) compiler : [[File:Thesis J Katwijk AdaMinus compiler 1987.pdf|thesis Katwijk]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:DIANA-Ref-Manual-1986-rev4.pdf&amp;diff=198</id>
		<title>File:DIANA-Ref-Manual-1986-rev4.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:DIANA-Ref-Manual-1986-rev4.pdf&amp;diff=198"/>
		<updated>2025-05-18T08:25:09Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Manuel_DIANA_1986 complete specification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Manuel_DIANA_1986 complete specification&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=197</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=197"/>
		<updated>2025-05-18T08:22:05Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* Ada 83 compiler research */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;br /&gt;
&lt;br /&gt;
==== Ada 83 compiler research ====&lt;br /&gt;
&lt;br /&gt;
The these from J. van Katwijk at Delft university in 1987 describing the &amp;quot;Ada-&amp;quot; (Ada minus) compiler : [[File:Thesis J Katwijk AdaMinus compiler 1987.pdf|thesis Katwijk]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:G_Bray_Generics.pdf&amp;diff=196</id>
		<title>File:G Bray Generics.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:G_Bray_Generics.pdf&amp;diff=196"/>
		<updated>2025-05-18T08:21:38Z</updated>

		<summary type="html">&lt;p&gt;Vmo: One rare article on generics implementation problems in Ada 83&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
One rare article on generics implementation problems in Ada 83&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=195</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=195"/>
		<updated>2025-05-18T08:19:06Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;br /&gt;
&lt;br /&gt;
==== Ada 83 compiler research ====&lt;br /&gt;
&lt;br /&gt;
The these from J. van Katwijk at Delft university in 1987 describing the &amp;quot;Ada-&amp;quot; (Ada minus) compiler : [[Thesis J Katwijk AdaMinus compiler 1987.pdf|thesis Katwijk]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Thesis_J_Katwijk_AdaMinus_compiler_1987.pdf&amp;diff=194</id>
		<title>File:Thesis J Katwijk AdaMinus compiler 1987.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Thesis_J_Katwijk_AdaMinus_compiler_1987.pdf&amp;diff=194"/>
		<updated>2025-05-18T08:17:57Z</updated>

		<summary type="html">&lt;p&gt;Vmo: J.van Katwijk thesis on &amp;quot;Ada minus&amp;quot; compiler with reviews of Ada 83 technical information available at the time.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
J.van Katwijk thesis on &amp;quot;Ada minus&amp;quot; compiler with reviews of Ada 83 technical information available at the time.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=181</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=181"/>
		<updated>2025-05-16T07:48:25Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
[[File:Ada LRM US gov.jpg|thumb|center| An original soft cover Ada 83 LRM distributed circa 1989 with an HP machine]]&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Ada_LRM_US_gov.jpg&amp;diff=180</id>
		<title>File:Ada LRM US gov.jpg</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Ada_LRM_US_gov.jpg&amp;diff=180"/>
		<updated>2025-05-16T07:42:42Z</updated>

		<summary type="html">&lt;p&gt;Vmo: An original soft cover LRM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
An original soft cover LRM&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=179</id>
		<title>Ada 83 history</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=179"/>
		<updated>2025-05-13T21:22:49Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
== Brief historical context ==&lt;br /&gt;
&lt;br /&gt;
In the history of the development of modern computing, there is a particular and rich period that extends from the early 1980s to the mid-1990s.&lt;br /&gt;
This period corresponds to the appearance and maturation of personal computing (IBM PC in 1981, Apple Macintosh in 1984) and the birth of the&lt;br /&gt;
Internet. &lt;br /&gt;
&lt;br /&gt;
The previous period, which could be situated in the 1970s, saw the beginning of microprocessor technology (Intel 4004 in 1971) which would lead&lt;br /&gt;
to the gradual disappearance of large “mainframe” computers in favor of mini-computers and then micro-computers and compact personal&lt;br /&gt;
workstations with increasing power. &lt;br /&gt;
Computer programming languages ​​follow the evolution of increasingly capable hardware in terms of speed and memory, and one of them in&lt;br /&gt;
particular, the Pascal language, which appeared in 1970, will exert a particular influence. &lt;br /&gt;
Following Pascal, a reflection on the homogenization of software systems of the American Department of Defense (DoD) began in 1974 and led in&lt;br /&gt;
1983 to the definition of a highly advanced language: Ada, now known as Ada 83 to distinguish it from its evolutionary versions Ada 95 and later,&lt;br /&gt;
2005, 2012, 2022.&lt;br /&gt;
  &lt;br /&gt;
== Ada 83 in its time ==&lt;br /&gt;
&lt;br /&gt;
Here is a timeline of salient events relating to the period that interests us (preparatory from 1970 to 1983, standardized life of the Ada 83&lt;br /&gt;
language from 1983 to 1994).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1971&#039;&#039;&#039; the Intel 4004 microprocessor is produced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1974&#039;&#039;&#039; independent proposals for a common language from the US defense services: US-ARMY, US-AIR FORCE, US-NAVY.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1975&#039;&#039;&#039; Creation of the High Order Language Working Group (HOLWG), beginning of the Strawman language specifications, then Wooden man.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1976&#039;&#039;&#039; (January) Tinman specifications, parallel evaluation of 23 existing languages. Derivatives of the Algol-68, Pascal, PL-1 languages ​​are&lt;br /&gt;
recognized as possible bases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1977&#039;&#039;&#039; (January) Ironman specifications. &lt;br /&gt;
(August) four competitors emerge among 15 proposals mainly based on Pascal: CII-Honeywell Bull, Intermetrics, Softech, SRI International.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1978&#039;&#039;&#039; 2 competitors continue: Steelman specifications. Digital Equipment Corporation (DEC) releases the VAX 11/780 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1979&#039;&#039;&#039; (April) The “Green” project led by Jean Ichbiah (CII-Honeywell team) is selected. In May the name of the language is chosen, it will be “Ada”, in&lt;br /&gt;
homage to Augusta Ada Lovelace (1815-1852), daughter of the poet Byron and collaborator of Charles Babbage in his work on the “Analytical&lt;br /&gt;
Machine”. New York University (NYU) with Robert Dewar examines the Ada specification and develops a partial executable model in SETL&lt;br /&gt;
language. Launch of the Stoneman project for a programming environment for the common Ada language. Appearance of the Motorola 68000&lt;br /&gt;
microprocessor. It will be discontinued in 1996, the succession being taken over by its successors 68010 to 68060. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1980&#039;&#039;&#039; intermediate standard, NYU Ada/Ed is adapted. In December HOLWG becomes Ada Joint Program Office (AJPO). J. Ichbiah founds Alsys. &lt;br /&gt;
1981 IBM introduces the first PC. &lt;br /&gt;
1982 new Ada reference manual, adapted from NYU Ada/Ed1983 release of the ANSI-MIL-STD-1815 standard defining Ada 83, in April Ada/Ed is validated on the ACVC (Ada Compiler Validation Capability)&lt;br /&gt;
tests. &lt;br /&gt;
&lt;br /&gt;
[[File:Diploma of first validated compiler.jpg|center|frame|caption|300px|alt=Presentation of diploma for first validated Ada compiler|Presentation of diploma for first validated Ada compiler to the Ada/Ed team, Robert Dewar (right) and Ed Schonberg (left)]]&lt;br /&gt;
&lt;br /&gt;
The C language becomes popular, between 1985 and 1992 Ada/Ed will be translated into C. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1984&#039;&#039;&#039; Apple presents the Macintosh, DEC releases the Microvax I. The DEC Ada compiler is available. &lt;br /&gt;
1985 release of the IBM OS-2 operating system. Workstation for Ada programming Rational R1000. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1986&#039;&#039;&#039; Collaboration of the National Center for the Study of Telecommunications (CNET) with NYU on the C version of Ada/Ed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1987&#039;&#039;&#039; ISO standard, revision in preparation for Ada 95. DEC microvax 3000. &lt;br /&gt;
1989 C language is standardized: ANSI C. &lt;br /&gt;
1990 Intermetrics is chosen for the Ada 9X revision &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1992&#039;&#039;&#039; DEC Alpha AXP processor. Minicomputers give way to microcomputers. DEC, not having taken the turn well, will disappear in 1998. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1994&#039;&#039;&#039; November Ada 95 revision accepted. Now the transition out of Ada 83 begins, although compatible with Ada 83, Ada 95 is in many aspects,&lt;br /&gt;
including object programming, a language with a very different flavor.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=178</id>
		<title>Ada 83 history</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=178"/>
		<updated>2025-05-13T21:20:13Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
== Brief historical context ==&lt;br /&gt;
&lt;br /&gt;
In the history of the development of modern computing, there is a particular and rich period that extends from the early 1980s to the mid-1990s.&lt;br /&gt;
This period corresponds to the appearance and maturation of personal computing (IBM PC in 1981, Apple Macintosh in 1984) and the birth of the&lt;br /&gt;
Internet. &lt;br /&gt;
&lt;br /&gt;
The previous period, which could be situated in the 1970s, saw the beginning of microprocessor technology (Intel 4004 in 1971) which would lead&lt;br /&gt;
to the gradual disappearance of large “mainframe” computers in favor of mini-computers and then micro-computers and compact personal&lt;br /&gt;
workstations with increasing power. &lt;br /&gt;
Computer programming languages ​​follow the evolution of increasingly capable hardware in terms of speed and memory, and one of them in&lt;br /&gt;
particular, the Pascal language, which appeared in 1970, will exert a particular influence. &lt;br /&gt;
Following Pascal, a reflection on the homogenization of software systems of the American Department of Defense (DoD) began in 1974 and led in&lt;br /&gt;
1983 to the definition of a highly advanced language: Ada, now known as Ada 83 to distinguish it from its evolutionary versions Ada 95 and later,&lt;br /&gt;
2005, 2012, 2022.&lt;br /&gt;
  &lt;br /&gt;
== Ada 83 in its time ==&lt;br /&gt;
&lt;br /&gt;
Here is a timeline of salient events relating to the period that interests us (preparatory from 1970 to 1983, standardized life of the Ada 83&lt;br /&gt;
language from 1983 to 1994).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1971&#039;&#039;&#039; the Intel 4004 microprocessor is produced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1974&#039;&#039;&#039; independent proposals for a common language from the US defense services: US-ARMY, US-AIR FORCE, US-NAVY.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1975&#039;&#039;&#039; Creation of the High Order Language Working Group (HOLWG), beginning of the Strawman language specifications, then Wooden man.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1976&#039;&#039;&#039; (January) Tinman specifications, parallel evaluation of 23 existing languages. Derivatives of the Algol-68, Pascal, PL-1 languages ​​are&lt;br /&gt;
recognized as possible bases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1977&#039;&#039;&#039; (January) Ironman specifications. &lt;br /&gt;
(August) four competitors emerge among 15 proposals mainly based on Pascal: CII-Honeywell Bull, Intermetrics, Softech, SRI International.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1978&#039;&#039;&#039; 2 competitors continue: Steelman specifications. Digital Equipment Corporation (DEC) releases the VAX 11/780 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1979&#039;&#039;&#039; (April) The “Green” project led by Jean Ichbiah (CII-Honeywell team) is selected. In May the name of the language is chosen, it will be “Ada”, in&lt;br /&gt;
homage to Augusta Ada Lovelace (1815-1852), daughter of the poet Byron and collaborator of Charles Babbage in his work on the “Analytical&lt;br /&gt;
Machine”. New York University (NYU) with Robert Dewar examines the Ada specification and develops a partial executable model in SETL&lt;br /&gt;
language. Launch of the Stoneman project for a programming environment for the common Ada language. Appearance of the Motorola 68000&lt;br /&gt;
microprocessor. It will be discontinued in 1996, the succession being taken over by its successors 68010 to 68060. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1980&#039;&#039;&#039; intermediate standard, NYU Ada/Ed is adapted. In December HOLWG becomes Ada Joint Program Office (AJPO). J. Ichbiah founds Alsys. &lt;br /&gt;
1981 IBM introduces the first PC. &lt;br /&gt;
1982 new Ada reference manual, adapted from NYU Ada/Ed1983 release of the ANSI-MIL-STD-1815 standard defining Ada 83, in April Ada/Ed is validated on the ACVC (Ada Compiler Validation Capability)&lt;br /&gt;
tests. &lt;br /&gt;
&lt;br /&gt;
[[File:Diploma of first validated compiler.jpg|center|frame|caption|400px|alt=Presentation of diploma for first validated Ada compiler|Presentation of diploma for first validated Ada compiler to the Ada/Ed team, Robert Dewar (right) and Ed Schonberg (left)]]&lt;br /&gt;
&lt;br /&gt;
The C language becomes popular, between 1985 and 1992 Ada/Ed will be translated into C. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1984&#039;&#039;&#039; Apple presents the Macintosh, DEC releases the Microvax I. The DEC Ada compiler is available. &lt;br /&gt;
1985 release of the IBM OS-2 operating system. Workstation for Ada programming Rational R1000. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1986&#039;&#039;&#039; Collaboration of the National Center for the Study of Telecommunications (CNET) with NYU on the C version of Ada/Ed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1987&#039;&#039;&#039; ISO standard, revision in preparation for Ada 95. DEC microvax 3000. &lt;br /&gt;
1989 C language is standardized: ANSI C. &lt;br /&gt;
1990 Intermetrics is chosen for the Ada 9X revision &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1992&#039;&#039;&#039; DEC Alpha AXP processor. Minicomputers give way to microcomputers. DEC, not having taken the turn well, will disappear in 1998. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1994&#039;&#039;&#039; November Ada 95 revision accepted. Now the transition out of Ada 83 begins, although compatible with Ada 83, Ada 95 is in many aspects,&lt;br /&gt;
including object programming, a language with a very different flavor.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=177</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=177"/>
		<updated>2025-05-13T11:26:29Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf | B.Zorn Berkeley 1984 ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf&amp;diff=176</id>
		<title>File:Exp ada codegen-BG-Zorn-UC-Berkeley-1984.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Exp_ada_codegen-BG-Zorn-UC-Berkeley-1984.pdf&amp;diff=176"/>
		<updated>2025-05-13T11:26:02Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Article about using DIANA for code generation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Article about using DIANA for code generation&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=175</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=175"/>
		<updated>2025-05-13T11:24:57Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;br /&gt;
&lt;br /&gt;
==== DIANA Intermediate Representation documents ====&lt;br /&gt;
&lt;br /&gt;
Experiences with Ada code generation [[ :File:B_Zorn_Exp_Berkeley.pdf | B.Zorn Berkeley 1984 ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=174</id>
		<title>Ada 83 history</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=174"/>
		<updated>2025-05-13T09:28:01Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
== Brief historical context ==&lt;br /&gt;
&lt;br /&gt;
In the history of the development of modern computing, there is a particular and rich period that extends from the early 1980s to the mid-1990s.&lt;br /&gt;
This period corresponds to the appearance and maturation of personal computing (IBM PC in 1981, Apple Macintosh in 1984) and the birth of the&lt;br /&gt;
Internet. &lt;br /&gt;
&lt;br /&gt;
The previous period, which could be situated in the 1970s, saw the beginning of microprocessor technology (Intel 4004 in 1971) which would lead&lt;br /&gt;
to the gradual disappearance of large “mainframe” computers in favor of mini-computers and then micro-computers and compact personal&lt;br /&gt;
workstations with increasing power. &lt;br /&gt;
Computer programming languages ​​follow the evolution of increasingly capable hardware in terms of speed and memory, and one of them in&lt;br /&gt;
particular, the Pascal language, which appeared in 1970, will exert a particular influence. &lt;br /&gt;
Following Pascal, a reflection on the homogenization of software systems of the American Department of Defense (DoD) began in 1974 and led in&lt;br /&gt;
1983 to the definition of a highly advanced language: Ada, now known as Ada 83 to distinguish it from its evolutionary versions Ada 95 and later,&lt;br /&gt;
2005, 2012, 2022.&lt;br /&gt;
  &lt;br /&gt;
== Ada 83 in its time ==&lt;br /&gt;
&lt;br /&gt;
Here is a timeline of salient events relating to the period that interests us (preparatory from 1970 to 1983, standardized life of the Ada 83&lt;br /&gt;
language from 1983 to 1994).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1971&#039;&#039;&#039; the Intel 4004 microprocessor is produced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1974&#039;&#039;&#039; independent proposals for a common language from the US defense services: US-ARMY, US-AIR FORCE, US-NAVY.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1975&#039;&#039;&#039; Creation of the High Order Language Working Group (HOLWG), beginning of the Strawman language specifications, then Wooden man.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1976&#039;&#039;&#039; (January) Tinman specifications, parallel evaluation of 23 existing languages. Derivatives of the Algol-68, Pascal, PL-1 languages ​​are&lt;br /&gt;
recognized as possible bases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1977&#039;&#039;&#039; (January) Ironman specifications. &lt;br /&gt;
(August) four competitors emerge among 15 proposals mainly based on Pascal: CII-Honeywell Bull, Intermetrics, Softech, SRI International.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1978&#039;&#039;&#039; 2 competitors continue: Steelman specifications. Digital Equipment Corporation (DEC) releases the VAX 11/780 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1979&#039;&#039;&#039; (April) The “Green” project led by Jean Ichbiah (CII-Honeywell team) is selected. In May the name of the language is chosen, it will be “Ada”, in&lt;br /&gt;
homage to Augusta Ada Lovelace (1815-1852), daughter of the poet Byron and collaborator of Charles Babbage in his work on the “Analytical&lt;br /&gt;
Machine”. New York University (NYU) with Robert Dewar examines the Ada specification and develops a partial executable model in SETL&lt;br /&gt;
language. Launch of the Stoneman project for a programming environment for the common Ada language. Appearance of the Motorola 68000&lt;br /&gt;
microprocessor. It will be discontinued in 1996, the succession being taken over by its successors 68010 to 68060. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1980&#039;&#039;&#039; intermediate standard, NYU Ada/Ed is adapted. In December HOLWG becomes Ada Joint Program Office (AJPO). J. Ichbiah founds Alsys. &lt;br /&gt;
1981 IBM introduces the first PC. &lt;br /&gt;
1982 new Ada reference manual, adapted from NYU Ada/Ed1983 release of the ANSI-MIL-STD-1815 standard defining Ada 83, in April Ada/Ed is validated on the ACVC (Ada Compiler Validation Capability)&lt;br /&gt;
tests. &lt;br /&gt;
&lt;br /&gt;
[[File:Diploma of first validated compiler.jpg|frame|caption|400px|alt=Presentation of diploma for first validated Ada compiler|Presentation of diploma for first validated Ada compiler to the Ada/Ed team, Robert Dewar (right) and Ed Schonberg (left)]]&lt;br /&gt;
&lt;br /&gt;
The C language becomes popular, between 1985 and 1992 Ada/Ed will be translated into C. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1984&#039;&#039;&#039; Apple presents the Macintosh, DEC releases the Microvax I. The DEC Ada compiler is available. &lt;br /&gt;
1985 release of the IBM OS-2 operating system. Workstation for Ada programming Rational R1000. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1986&#039;&#039;&#039; Collaboration of the National Center for the Study of Telecommunications (CNET) with NYU on the C version of Ada/Ed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1987&#039;&#039;&#039; ISO standard, revision in preparation for Ada 95. DEC microvax 3000. &lt;br /&gt;
1989 C language is standardized: ANSI C. &lt;br /&gt;
1990 Intermetrics is chosen for the Ada 9X revision &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1992&#039;&#039;&#039; DEC Alpha AXP processor. Minicomputers give way to microcomputers. DEC, not having taken the turn well, will disappear in 1998. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1994&#039;&#039;&#039; November Ada 95 revision accepted. Now the transition out of Ada 83 begins, although compatible with Ada 83, Ada 95 is in many aspects,&lt;br /&gt;
including object programming, a language with a very different flavor.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=173</id>
		<title>Ada 83 history</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_history&amp;diff=173"/>
		<updated>2025-05-13T09:22:27Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &lt;br /&gt;
== Brief historical context ==&lt;br /&gt;
&lt;br /&gt;
In the history of the development of modern computing, there is a particular and rich period that extends from the early 1980s to the mid-1990s.&lt;br /&gt;
This period corresponds to the appearance and maturation of personal computing (IBM PC in 1981, Apple Macintosh in 1984) and the birth of the&lt;br /&gt;
Internet. &lt;br /&gt;
&lt;br /&gt;
The previous period, which could be situated in the 1970s, saw the beginning of microprocessor technology (Intel 4004 in 1971) which would lead&lt;br /&gt;
to the gradual disappearance of large “mainframe” computers in favor of mini-computers and then micro-computers and compact personal&lt;br /&gt;
workstations with increasing power. &lt;br /&gt;
Computer programming languages ​​follow the evolution of increasingly capable hardware in terms of speed and memory, and one of them in&lt;br /&gt;
particular, the Pascal language, which appeared in 1970, will exert a particular influence. &lt;br /&gt;
Following Pascal, a reflection on the homogenization of software systems of the American Department of Defense (DoD) began in 1974 and led in&lt;br /&gt;
1983 to the definition of a highly advanced language: Ada, now known as Ada 83 to distinguish it from its evolutionary versions Ada 95 and later,&lt;br /&gt;
2005, 2012, 2022.&lt;br /&gt;
  &lt;br /&gt;
== Ada 83 in its time ==&lt;br /&gt;
&lt;br /&gt;
Here is a timeline of salient events relating to the period that interests us (preparatory from 1970 to 1983, standardized life of the Ada 83&lt;br /&gt;
language from 1983 to 1994).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1971&#039;&#039;&#039; the Intel 4004 microprocessor is produced.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1974&#039;&#039;&#039; independent proposals for a common language from the US defense services: US-ARMY, US-AIR FORCE, US-NAVY.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1975&#039;&#039;&#039; Creation of the High Order Language Working Group (HOLWG), beginning of the Strawman language specifications, then Wooden man.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1976&#039;&#039;&#039; (January) Tinman specifications, parallel evaluation of 23 existing languages. Derivatives of the Algol-68, Pascal, PL-1 languages ​​are&lt;br /&gt;
recognized as possible bases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1977&#039;&#039;&#039; (January) Ironman specifications. &lt;br /&gt;
(August) four competitors emerge among 15 proposals mainly based on Pascal: CII-Honeywell Bull, Intermetrics, Softech, SRI International.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1978&#039;&#039;&#039; 2 competitors continue: Steelman specifications. Digital Equipment Corporation (DEC) releases the VAX 11/780 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1979&#039;&#039;&#039; (April) The “Green” project led by Jean Ichbiah (CII-Honeywell team) is selected. In May the name of the language is chosen, it will be “Ada”, in&lt;br /&gt;
homage to Augusta Ada Lovelace (1815-1852), daughter of the poet Byron and collaborator of Charles Babbage in his work on the “Analytical&lt;br /&gt;
Machine”. New York University (NYU) with Robert Dewar examines the Ada specification and develops a partial executable model in SETL&lt;br /&gt;
language. Launch of the Stoneman project for a programming environment for the common Ada language. Appearance of the Motorola 68000&lt;br /&gt;
microprocessor. It will be discontinued in 1996, the succession being taken over by its successors 68010 to 68060. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1980&#039;&#039;&#039; intermediate standard, NYU Ada/Ed is adapted. In December HOLWG becomes Ada Joint Program Office (AJPO). J. Ichbiah founds Alsys. &lt;br /&gt;
1981 IBM introduces the first PC. &lt;br /&gt;
1982 new Ada reference manual, adapted from NYU Ada/Ed1983 release of the ANSI-MIL-STD-1815 standard defining Ada 83, in April Ada/Ed is validated on the ACVC (Ada Compiler Validation Capability)&lt;br /&gt;
tests. &lt;br /&gt;
&lt;br /&gt;
[[File:Diploma of first validated compiler.jpg|frame|alt=Presentation of diploma for first validated Ada compiler|Presentation of diploma for first validated Ada compiler to the Ada/Ed team, Robert Dewar (right) and Ed Schonberg (left)]]&lt;br /&gt;
&lt;br /&gt;
The C language becomes popular, between 1985 and 1992 Ada/Ed will be translated into C. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1984&#039;&#039;&#039; Apple presents the Macintosh, DEC releases the Microvax I. The DEC Ada compiler is available. &lt;br /&gt;
1985 release of the IBM OS-2 operating system. Workstation for Ada programming Rational R1000. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1986&#039;&#039;&#039; Collaboration of the National Center for the Study of Telecommunications (CNET) with NYU on the C version of Ada/Ed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1987&#039;&#039;&#039; ISO standard, revision in preparation for Ada 95. DEC microvax 3000. &lt;br /&gt;
1989 C language is standardized: ANSI C. &lt;br /&gt;
1990 Intermetrics is chosen for the Ada 9X revision &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1992&#039;&#039;&#039; DEC Alpha AXP processor. Minicomputers give way to microcomputers. DEC, not having taken the turn well, will disappear in 1998. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1994&#039;&#039;&#039; November Ada 95 revision accepted. Now the transition out of Ada 83 begins, although compatible with Ada 83, Ada 95 is in many aspects,&lt;br /&gt;
including object programming, a language with a very different flavor.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Rational_R1000_Ada83_machine&amp;diff=170</id>
		<title>Rational R1000 Ada83 machine</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Rational_R1000_Ada83_machine&amp;diff=170"/>
		<updated>2025-05-12T09:13:20Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DataMuseum.Dk revives a Rational R1000s400 ==&lt;br /&gt;
&lt;br /&gt;
The Rational R1000 was an Ada 83 machine. The Data Museum of Denmark had a hand on one of those machines in 2009 and succeeded in making it work again ! Some documentation about this enterprise is available here : [https://github.com/Datamuseum-DK/R1000.HwDoc R1000 Documentation]&lt;br /&gt;
&lt;br /&gt;
Last year they released an emulator which can be accessed through this link [https://datamuseum.dk/wiki/Rational/R1000s400 R1000s400 revival]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Rational_R1000_Ada83_machine&amp;diff=169</id>
		<title>Rational R1000 Ada83 machine</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Rational_R1000_Ada83_machine&amp;diff=169"/>
		<updated>2025-05-12T09:12:46Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Created page with &amp;quot;== DataMuseum.Dk revives a Rational R1000s400 ==  The Rational R1000 was an Ada 83 machine. The Data Museum of Denmark had a hand on one one those machines and succeeded in making it work again ! Some documentation about this enterprise is available here : [https://github.com/Datamuseum-DK/R1000.HwDoc R1000 Documentation]  Last year they released an emulator which can be accessed through this link [https://datamuseum.dk/wiki/Rational/R1000s400 R1000s400 revival]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DataMuseum.Dk revives a Rational R1000s400 ==&lt;br /&gt;
&lt;br /&gt;
The Rational R1000 was an Ada 83 machine. The Data Museum of Denmark had a hand on one one those machines and succeeded in making it work again ! Some documentation about this enterprise is available here : [https://github.com/Datamuseum-DK/R1000.HwDoc R1000 Documentation]&lt;br /&gt;
&lt;br /&gt;
Last year they released an emulator which can be accessed through this link [https://datamuseum.dk/wiki/Rational/R1000s400 R1000s400 revival]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=167</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=167"/>
		<updated>2025-04-29T19:54:32Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* The ENST theses and P.Kruchten / J.P.Rosen documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ :File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=166</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=166"/>
		<updated>2025-04-29T15:28:37Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|420px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Motivations&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is close to 170 paper sheets long (around 270 pages of language definition proper), which makes it integrally accessible to an individual reader.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Purpose&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering :&lt;br /&gt;
&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_history|history]]&#039;&#039;&#039; facts&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_tools|tools]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[documentation]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_examples|examples]]&#039;&#039;&#039; written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Participate&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=165</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=165"/>
		<updated>2025-04-29T15:28:17Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|450px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Motivations&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is close to 170 paper sheets long (around 270 pages of language definition proper), which makes it integrally accessible to an individual reader.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Purpose&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering :&lt;br /&gt;
&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_history|history]]&#039;&#039;&#039; facts&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_tools|tools]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[documentation]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_examples|examples]]&#039;&#039;&#039; written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Participate&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=164</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=164"/>
		<updated>2025-04-29T15:27:54Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|400px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Motivations&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is close to 170 paper sheets long (around 270 pages of language definition proper), which makes it integrally accessible to an individual reader.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Purpose&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering :&lt;br /&gt;
&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_history|history]]&#039;&#039;&#039; facts&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_tools|tools]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[documentation]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_examples|examples]]&#039;&#039;&#039; written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Participate&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=163</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=163"/>
		<updated>2025-04-29T13:02:39Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|500px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Motivations&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is close to 170 paper sheets long (around 270 pages of language definition proper), which makes it integrally accessible to an individual reader.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Purpose&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering :&lt;br /&gt;
&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_history|history]]&#039;&#039;&#039; facts&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_tools|tools]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[documentation]]&#039;&#039;&#039;&lt;br /&gt;
*  &#039;&#039;&#039;[[Ada_83_examples|examples]]&#039;&#039;&#039; written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Participate&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=162</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=162"/>
		<updated>2025-04-29T12:57:22Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|500px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Motivations&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is close to 170 paper sheets long (around 270 pages of language definition proper), which makes it integrally accessible to an individual reader.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Purpose&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering [[Ada_83_history|history]] facts and [[Ada_83_tools|tools]], [[documentation]] and [[Ada_83_examples|examples]] written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=161</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=161"/>
		<updated>2025-04-29T12:42:05Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|500px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is close to 170 paper sheets long (around 270 pages of language definition proper), which makes it integrally accessible to an individual reader.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering [[Ada_83_history|history]] facts and [[Ada_83_tools|tools]], [[documentation]] and [[Ada_83_examples|examples]] written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=160</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=160"/>
		<updated>2025-04-29T12:34:27Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|500px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is around 175 pages long, which makes it accessible to an individual.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering [[Ada_83_history|history]] facts and [[Ada_83_tools|tools]], [[documentation]] and [[Ada_83_examples|examples]] written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=J_Ichbiah_mail_20_nov_1992&amp;diff=159</id>
		<title>J Ichbiah mail 20 nov 1992</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=J_Ichbiah_mail_20_nov_1992&amp;diff=159"/>
		<updated>2025-04-29T12:28:57Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From comp.lang.ada Tue Apr  6 11:03:18 1993&lt;br /&gt;
Newsgroups: comp.lang.ada&lt;br /&gt;
Path: utcsri!newsflash.concordia.ca!uunet!world!srctran&lt;br /&gt;
From: srctran@world.std.com (Gregory Aharonian)&lt;br /&gt;
Subject: Ichbiah&#039;s letter to Anderson: Here it is&lt;br /&gt;
Message-ID: &amp;lt;SRCTRAN.93Apr6103639@world.std.com&amp;gt;&lt;br /&gt;
Sender: srctran@world.std.com (Gregory Aharonian)&lt;br /&gt;
Organization: The World&lt;br /&gt;
Distribution: comp.lang.ada&lt;br /&gt;
Date: Tue, 6 Apr 1993 15:36:39 GMT&lt;br /&gt;
Lines: 406&lt;br /&gt;
&lt;br /&gt;
    By contacting Dr. Ichbiah, I have received permission to post his letter&lt;br /&gt;
to Christine Anderson to comp.lang.ada.  Here it is.  While I can&#039;t comment&lt;br /&gt;
on the technical aspects of his letter, from a marketing point of view, Ada9X&lt;br /&gt;
sounds like a disaster.  It may be a great, fantastic language that is under&lt;br /&gt;
development, but if Dr. Ichbiah&#039;s concerns are even partially valid, than&lt;br /&gt;
Ada9X will win even less market share than Ada83.  Upward incompatibility,&lt;br /&gt;
complexity of features, usurping of roles provided by third party packages,&lt;br /&gt;
and stretched out timetables for approval, development and release of new&lt;br /&gt;
compilers?  This is every marketing manager&#039;s nightmare.  And given Jean&#039;s&lt;br /&gt;
involvement with a commercial product oriented company, I would give much&lt;br /&gt;
signifigance to his market impact comments.   Forget about windows of&lt;br /&gt;
opportunity being shut.  They will be shut, boarded up, and wired with&lt;br /&gt;
explosives.&lt;br /&gt;
&lt;br /&gt;
    By the way, does anyone know if the Ada9X effort has a marketing&lt;br /&gt;
subcommittee, a group to look into how Ada is going to survive in the&lt;br /&gt;
non-Mandated world.  I would love to serve on such a committee, but have&lt;br /&gt;
not noticed anything.&lt;br /&gt;
&lt;br /&gt;
Greg Aharonian&lt;br /&gt;
Source Translation &amp;amp; Optimization&lt;br /&gt;
==============================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
~Subject: A Farewell to Ada with null&lt;br /&gt;
~Date: Fri, 20 Nov 92 00:51:25 EST&lt;br /&gt;
~From: Jean D Ichbiah &amp;lt;ichbiah@ajpo.sei.cmu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
~From:       Jean D Ichbiah&lt;br /&gt;
To:         Chris Anderson&lt;br /&gt;
cc:         DRs, VRs, Iso [other Adaphiles]&lt;br /&gt;
&lt;br /&gt;
~subject:    A Farewell to Ada with null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dear Chris,&lt;br /&gt;
&lt;br /&gt;
For now almost one year, I have tried very hard to work for the&lt;br /&gt;
simplification of Ada 9X.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;From the start, I have been very worried by the massive complexity of the&lt;br /&gt;
9X proposals. As you certainly remember, this is a concern that I have&lt;br /&gt;
expressed to you in earlier correspondance: I was concerned that the&lt;br /&gt;
resulting complexity would lose some users as well as some implementers.&lt;br /&gt;
I was also seeing a risk that the Ada community would not follow if the&lt;br /&gt;
intellectual &amp;quot;distance&amp;quot; and the upward incompatibility were too high.&lt;br /&gt;
&lt;br /&gt;
At the same time I was intrigued by the quality of the individual features&lt;br /&gt;
that were proposed - you indeed selected one of the best feature designers&lt;br /&gt;
and it is unclear that, on a feature-by-feature basis, better could have&lt;br /&gt;
been accomplished.  And I was hoping that the DRs and Iso processes would&lt;br /&gt;
bring a reduction to an acceptable size, to something that is intellectually&lt;br /&gt;
manageable. I was also hoping that it would be ultimately possible to dress&lt;br /&gt;
the new concepts in a simpler, more regular, more attractive, more beautiful&lt;br /&gt;
syntax, which could redeem some of the complexity. And it is fair to say&lt;br /&gt;
that I was encouraged in that hope by a very favorable mail response on the&lt;br /&gt;
network.&lt;br /&gt;
&lt;br /&gt;
It is now time for me to acknowledge that my efforts have failed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I have encountered an unusual degree of intolerance to&lt;br /&gt;
outside contributions which meant that more time was spent fighting my&lt;br /&gt;
attempts to improve than analyzing their merits. This was clearly becoming&lt;br /&gt;
counterproductive and at the Iso meeting in Salem, my attempts to simplify,&lt;br /&gt;
supported by 2 and opposed by 2, ultimately lost to 6 courageous abstentions.&lt;br /&gt;
This happened according to the rules and the outcome is not one that can be&lt;br /&gt;
disputed.&lt;br /&gt;
&lt;br /&gt;
Nevertheless, I do not like the current proposal. (Of course, in all&lt;br /&gt;
fairness, I will withhold final judgment until the proposal is final - my&lt;br /&gt;
inveterate, irrational optimism again.)  More than most people, I am driven&lt;br /&gt;
by aesthetic considerations and the strong belief that only beautiful shape&lt;br /&gt;
can be correct shape.  And for me, a striking symbol of the lack of&lt;br /&gt;
aesthetic considerations in the new proposals are contained in the construct&lt;br /&gt;
&lt;br /&gt;
          with null&lt;br /&gt;
&lt;br /&gt;
coldly logic, ultimately ugly - the engineers had it their way and had Ada&lt;br /&gt;
9X become Ada with null.&lt;br /&gt;
&lt;br /&gt;
Alltogether, my impression of the present proposal reminds me of my awe when&lt;br /&gt;
first crossing this bridge in Boston: the Mystic River Bridge. It certainly&lt;br /&gt;
met the requirements but the accumulation and clutter of metal was&lt;br /&gt;
oppressive and threatening and ... my preference will always go to the&lt;br /&gt;
Golden Gate Bridge. The first had engineered features, the second had an&lt;br /&gt;
Architect and a prodigious Architecture with charm.&lt;br /&gt;
&lt;br /&gt;
But my discomfort with the course in which 9X appears to be irreparably&lt;br /&gt;
engaged goes well beyond the aesthetics. I will review the main ones in what&lt;br /&gt;
follows.&lt;br /&gt;
&lt;br /&gt;
THE EXPLOSION OF COMPLEXITY&lt;br /&gt;
&lt;br /&gt;
A massive increase in complexity, will result from 9X adding one or more&lt;br /&gt;
additional possibilities where Ada now offers two. For example, 9X adds:&lt;br /&gt;
&lt;br /&gt;
  *  root types, to types and universal types&lt;br /&gt;
&lt;br /&gt;
  *  aliased, to constant and variable&lt;br /&gt;
&lt;br /&gt;
  *  inherently limited, to limited and not limited&lt;br /&gt;
&lt;br /&gt;
  *  protected types, to subprograms, packages, and tasks&lt;br /&gt;
&lt;br /&gt;
  *  decimal and unsigned types, to integer and real types&lt;br /&gt;
&lt;br /&gt;
  *  access parameters, to in, out, and in out&lt;br /&gt;
&lt;br /&gt;
  *  accessibility and dynamic accessibility, to scope and visibility&lt;br /&gt;
&lt;br /&gt;
  *  accessibility checks, to constraint checks&lt;br /&gt;
&lt;br /&gt;
  *  tagged types, to normal types&lt;br /&gt;
&lt;br /&gt;
  *  dispatched subprogram calls, to normal subprogram calls&lt;br /&gt;
&lt;br /&gt;
  *  use type clause, to use package clauses&lt;br /&gt;
&lt;br /&gt;
  *  barriers, to conditions  ...&lt;br /&gt;
&lt;br /&gt;
Now, if 10 of these interact and with an average 2 possibilities in each&lt;br /&gt;
case, we roughly have 1000 possible interactions in current Ada (that is,&lt;br /&gt;
2**10).  But with 9X, the number of interactions to consider is close to&lt;br /&gt;
60,000 since we have 3 or more possibilities in each case (that is, 3**10).&lt;br /&gt;
As you see, it is very legitimate to talk of an EXPLOSION in complexity if&lt;br /&gt;
it has been multiplied by 60!  Some will argue that an interaction on 10&lt;br /&gt;
planes is unusual.  But even with 5 planes, we get a very significant&lt;br /&gt;
increase by a factor of 8 (since 2**5 is 32, and 3**5 is 243).&lt;br /&gt;
&lt;br /&gt;
Clearly, some of the above extensions are desirable.  But taken altogether&lt;br /&gt;
they result in an undesirable complexity.&lt;br /&gt;
&lt;br /&gt;
EXTRA COMPLEXITY IS OBJECTIONABLE&lt;br /&gt;
&lt;br /&gt;
Extra complexity, to this degree, is very objectionable for implementers and&lt;br /&gt;
the Ada industry.  &lt;br /&gt;
&lt;br /&gt;
On one hand, it will delay and significantly increase the effort of building&lt;br /&gt;
compilers, with the risk that some vendors will drop out of the market.&lt;br /&gt;
(I understand that you intend to relax the validation requirements in the&lt;br /&gt;
short term. But this abandon of the no-subset rule will have Ada lose one &lt;br /&gt;
of its major advantages over competing languages: the high degree of&lt;br /&gt;
compatibility between implementations.)  For the surviving vendors, the&lt;br /&gt;
scale of changes is likely to set them back by several years in terms of&lt;br /&gt;
reliability and performance of implementations.  (Whatever comfort would&lt;br /&gt;
come from the prototype implementations is illusory. They are test-tube&lt;br /&gt;
experiments that have concentrated on certain facets; they have not been&lt;br /&gt;
able to test the interactions of features.)&lt;br /&gt;
&lt;br /&gt;
Moreover, the additional effort required by this complexity will compete for&lt;br /&gt;
resources and thereby prevent the Ada Industry from investing sufficiently&lt;br /&gt;
in interfaces.  I have said it several times before, but it is worth&lt;br /&gt;
repeating:  I consider the lack of interfaces to be the most severe&lt;br /&gt;
impediment to increasing usage of Ada - witness the absence of a credible&lt;br /&gt;
Ada solution for Windows development - and this diversion of resources from&lt;br /&gt;
interfaces severely diminishes the chances for Ada&#039;s long term success.&lt;br /&gt;
&lt;br /&gt;
The extra complexity is equally objectionable from a user&#039;s point of view.&lt;br /&gt;
&lt;br /&gt;
Ada has provided so far an attractive base for software engineering and for&lt;br /&gt;
the development of large reliable programs.  Ada struck at the right level:&lt;br /&gt;
more complex than Pascal - since it offered facilities that the users needed&lt;br /&gt;
- - but not as complex as C++.  So it meant that average programmers could&lt;br /&gt;
develop a level of command of its concepts with which they could develop&lt;br /&gt;
programs whose structure, actions, and consequences they understood and&lt;br /&gt;
mastered - an absolute requirement for reliability.&lt;br /&gt;
&lt;br /&gt;
But this simplicity does not appear to be preserved with the 9X current&lt;br /&gt;
proposals, whose complexity are likely to be beyond that of C++.  And if we&lt;br /&gt;
were to lose the simplicity advantage over C++, what would remain of the&lt;br /&gt;
advantages of Ada?&lt;br /&gt;
&lt;br /&gt;
Finally, the extra complexity is very objectionable because the resulting&lt;br /&gt;
delays severely endanger the chances of positioning Ada in the main stream&lt;br /&gt;
of object-oriented programming.  We run the risk of missing the window of&lt;br /&gt;
opportunity.&lt;br /&gt;
&lt;br /&gt;
THE ILS APPROACH AND MORE DELAYS&lt;br /&gt;
&lt;br /&gt;
The current approach taken for specifying the language is based on the&lt;br /&gt;
so-called ILS (the Integrated Language Specification). The sheer size of the&lt;br /&gt;
document should be a severe warning about the complexity of the current&lt;br /&gt;
proposals:  It is larger than the Ada Reference Manual although it purports&lt;br /&gt;
to describe the changes with respect to this former manual.&lt;br /&gt;
&lt;br /&gt;
But the most striking aspect of the ILS (beyond the size) is the&lt;br /&gt;
uncontrolled proliferation of new jargon, replacing or adding a large number&lt;br /&gt;
of new technical terms.  The developers of the ILS have argued that this is&lt;br /&gt;
a temporary document whose purpose is to specify the changes and that their&lt;br /&gt;
intent is to develop a Revised Reference Manual in the style that has been&lt;br /&gt;
so successful for Ada (83).&lt;br /&gt;
&lt;br /&gt;
On one hand, the level of details covered in the ILS have certainly helped&lt;br /&gt;
in revealing the interactions of the new features and, thereby, their&lt;br /&gt;
complexity.&lt;br /&gt;
&lt;br /&gt;
However, the approach is unlikely to work:  In refining the language&lt;br /&gt;
proposals, the small local decisions are going to be very influenced by the&lt;br /&gt;
terms that are used.  The words we use influence the concepts:  they often&lt;br /&gt;
dictate technical choices that keep the description simple and&lt;br /&gt;
understandable. This has been my experience with the formulation of the&lt;br /&gt;
Green manual, and that of the Ada 80, and Ada 83 reference manuals. The ILS&lt;br /&gt;
approach tries to postpone the difficulty but it will mean that these local&lt;br /&gt;
trade-offs will be done in terms of the ILS jargon and will have to be&lt;br /&gt;
redone when you scale down the terminology to the style of the final&lt;br /&gt;
reference manual.&lt;br /&gt;
&lt;br /&gt;
As this will take a lot of time, the temptation will be to have the&lt;br /&gt;
standard be an ILS-style document.  If this were to happen, Ada would lose&lt;br /&gt;
another of its key advantages - that of having a standard that is readable&lt;br /&gt;
by most programmers, to the degree that compilers formulate error messages&lt;br /&gt;
in terms of sections of the reference manual.  This approach would also lose&lt;br /&gt;
the &amp;quot;intellectual capital&amp;quot; invested by the Ada community in the&lt;br /&gt;
understanding of the Ada definition.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;From where we are now, I regard the current goal of having a draft reference&lt;br /&gt;
manual in June 1993 as unrealistic by at least six to nine months. (Unlike&lt;br /&gt;
Cassandra, I speak here with experience. Like Cassandra, however, I may&lt;br /&gt;
share the dual attributes of being right and not believed.)  The ILS&lt;br /&gt;
approach is actually postponing the moment where the team will be in a&lt;br /&gt;
position to understand the complexity of what they are trying to do, as well&lt;br /&gt;
as the complexity of describing their proposals.  So it is postponing the&lt;br /&gt;
time when they will be able to give a reasonable estimate of completion&lt;br /&gt;
time.&lt;br /&gt;
&lt;br /&gt;
UPWARD INCOMPATIBILITY&lt;br /&gt;
&lt;br /&gt;
I am also worried at the growing level of upward incompatibility of 9X with&lt;br /&gt;
Ada. As a measure of this growing divergence, the list published in the&lt;br /&gt;
November 92 issue of Ada letters contained 12 categories of upward&lt;br /&gt;
incompatibilities.  A more recent list, compiled from the ILS now counts&lt;br /&gt;
some 30 different categories (and this is not just a different&lt;br /&gt;
categorization).  While a small number of them are language improvements&lt;br /&gt;
(for example, the better enforcement of a contract model for generic units)&lt;br /&gt;
many of them reflect an attitude that is too tolerant of upward&lt;br /&gt;
incompatibility (for example, the elimination of accuracy constraints in&lt;br /&gt;
subtypes and that of named notation for operators).&lt;br /&gt;
&lt;br /&gt;
Upward compatibility shoud be addressed much more strictly.  Success of 9X&lt;br /&gt;
will not happen unless it is a superset of current Ada:  Existing compilers&lt;br /&gt;
will have to be maintained for their current applications and the resources&lt;br /&gt;
do not exist to maintain two separate families of compilers.  Moreover, very&lt;br /&gt;
strict upward compatibility is a prerequisite for the strategy of gradual&lt;br /&gt;
introduction of 9X features in existing Ada compilers.&lt;br /&gt;
&lt;br /&gt;
WHAT WAS AND IS NEEDED&lt;br /&gt;
&lt;br /&gt;
What we have seen is a reflection of the inherent inability of committees to&lt;br /&gt;
make choices.  In this respect, it should be no surprise that the decision&lt;br /&gt;
process has led to this overweight since historical precedent of efforts to&lt;br /&gt;
achieve similar consensus have had similar results for other languages&lt;br /&gt;
(PL/I ...). Moreover, we have had to face the unusual situation of a team&lt;br /&gt;
who has been pushing for always more features. The combination has produced&lt;br /&gt;
the current inflation.&lt;br /&gt;
&lt;br /&gt;
With the 9X revision process, we were considering a language revision, as&lt;br /&gt;
opposed to the design of an entirely new language. It seemed therefore, that&lt;br /&gt;
the rules implied that improvements had to be sought within the frame of the&lt;br /&gt;
existing language and with a certain modesty that did not exclude an&lt;br /&gt;
occasional &amp;quot;cadenza&amp;quot; for the revision team.  &lt;br /&gt;
&lt;br /&gt;
In this spirit, the key decision was the choice of ONE major area where the&lt;br /&gt;
revision would decide to concentrate efforts to extend current Ada. The rest&lt;br /&gt;
being a collection of smaller scale - and nevertheless important - decisions&lt;br /&gt;
such as the international character set and various local improvements&lt;br /&gt;
(aggregates, preferences, ...).&lt;br /&gt;
&lt;br /&gt;
Along with many others, I have argued that this area of focus should be the&lt;br /&gt;
Object-Oriented Programming features (including the ability to pass&lt;br /&gt;
subprograms as parameters).  The semantics developed for these features is&lt;br /&gt;
indeed quite attractive (even if the syntax badly needs improvement).&lt;br /&gt;
The priority for OOP comes from a real market requirement - these features&lt;br /&gt;
will attract new users to Ada - and also from the ability to reuse the&lt;br /&gt;
significant work that was done in libraries of classes for C++ and Turbo&lt;br /&gt;
Pascal.  So it is part of the effort to interface Ada with the outside world&lt;br /&gt;
and to reuse software and methods that are developed outside Ada.&lt;br /&gt;
&lt;br /&gt;
If we limited the revision to this level, we could certainly have something&lt;br /&gt;
rather elegant, well in the spirit of Ada, which could be ready within the&lt;br /&gt;
original schedule, and for which implementations could be achieved rapidly&lt;br /&gt;
and in an upward compatible manner.&lt;br /&gt;
&lt;br /&gt;
The current trouble comes from having tried to achieve consensus by&lt;br /&gt;
satisfying all user communities and - in part - this is what has led to the&lt;br /&gt;
proposed plethora of new features and the ensuing complexity. I have argued&lt;br /&gt;
in other places that, since we had to choose, we had to be more modest in&lt;br /&gt;
the area of real-time, perhaps addressing only improvements in the area of&lt;br /&gt;
priority handling.  &lt;br /&gt;
&lt;br /&gt;
The logic behind this choice is that we are dealing with a community that is&lt;br /&gt;
already using Ada for moderately time-critical applications.  When they are&lt;br /&gt;
not using Ada tasking, they are working with some set of packaged real-time&lt;br /&gt;
primitives: Cifo, Extra, Posix, or some other proprietary kernel.  At the&lt;br /&gt;
other end of the spectrum, for extremely time-critical applications, they&lt;br /&gt;
are working with packages of even lower-level primitives.&lt;br /&gt;
&lt;br /&gt;
In most cases, these packaged solutions were adopted because it was&lt;br /&gt;
considered that they offered the best combination of advantages: the Ada&lt;br /&gt;
modularity and reliability, and the real-time primitives offered by the&lt;br /&gt;
package. Moreover, when outside interfacing reasons dictate the choice of&lt;br /&gt;
primitives, such as Posix, nothing that we do in Ada is likely to change the&lt;br /&gt;
approach. Given the level of consensus achieved for these packaged&lt;br /&gt;
approaches in their respective areas, and given the need fore interfacing&lt;br /&gt;
with other languages, it is very unlikely that the corresponding user&lt;br /&gt;
communities would switch to a different approach - even if they found new&lt;br /&gt;
Ada  features to meet their requirements.  Consequently, the Ada industry&lt;br /&gt;
will have to provide support for these packaged approaches regardless of&lt;br /&gt;
what is done by the language revision.&lt;br /&gt;
&lt;br /&gt;
Moreover, the choice of Ada over some competing language such as C or C++&lt;br /&gt;
is not going to depend on the presence of tasking features since these&lt;br /&gt;
competing alternatives do not have any.  On the contrary, the presence in&lt;br /&gt;
9X of features that they do not use could be an argument for not using the&lt;br /&gt;
language as people fear the distributed inefficiencies that are commonplace&lt;br /&gt;
for implementation of new languages (and with the level of change presently&lt;br /&gt;
contemplated, 9X would be a new language to which the fine-tuning that took&lt;br /&gt;
place for Ada in the past ten years would not apply).&lt;br /&gt;
&lt;br /&gt;
So the above considerations show that any effort that we expend on real-time&lt;br /&gt;
features has a low return on investment as far as attracting users to Ada.&lt;br /&gt;
Hence this is an obvious area for substantial reduction.&lt;br /&gt;
&lt;br /&gt;
Others depend more on containing the team&#039;s natural inclination to add more&lt;br /&gt;
features.  I will limit myself to two significant examples.&lt;br /&gt;
&lt;br /&gt;
The first feature is the introduction of discriminant for classes.  This is&lt;br /&gt;
something that exists in no other language that has OOP features, and&lt;br /&gt;
apparently for good reasons when we see the complexity that the interaction&lt;br /&gt;
of classes and discriminants has induced in 9X. Besides complexity, the&lt;br /&gt;
other reason why other languages have avoided discriminants for classes is&lt;br /&gt;
that they are not that useful for the dynamic style of programming that is&lt;br /&gt;
customary for the applications contemplated.  Discriminants serve for static&lt;br /&gt;
parameterization, but the style of programming used for, say windows&lt;br /&gt;
applications, liberally uses dynamic creation and quite justifyably so when&lt;br /&gt;
you consider the decreasing costs of processors.  So this is the domain of&lt;br /&gt;
late binding, of dynamic dispatching, and if you need to have a string, you&lt;br /&gt;
naturally allocate it dynamically (where a static view would have used&lt;br /&gt;
discriminants).  So the inability to sort out objectives, and to choose,&lt;br /&gt;
results in significant complexity without real gain.&lt;br /&gt;
&lt;br /&gt;
The second example is in the area of separate compilation.  Early Ada&lt;br /&gt;
compilers were slow and the need to optimize compilations was very acute.&lt;br /&gt;
Fortunately,  you can now compile well over 100,000 lines in an hour on a&lt;br /&gt;
very low cost machine (a 486) so that this is now a problem of the past.&lt;br /&gt;
But this problem of the past has resulted in the 9X feature of hierarchical&lt;br /&gt;
libraries.&lt;br /&gt;
&lt;br /&gt;
I will argue that this is again unneeded complexity.  First, we have to&lt;br /&gt;
recognize that current Ada already goes much beyond other languages for&lt;br /&gt;
separate compilation of interfaces.  Other languages such as Turbo Pascal&lt;br /&gt;
for Windows do allow a form of package - the Pascal units - but the&lt;br /&gt;
interface and the body are one single text.  So you would expect Turbo&lt;br /&gt;
Pascal compilation to be slow ... except that the compiler is smart enough&lt;br /&gt;
to distinguish changes to the interface from changes to the implementation.&lt;br /&gt;
This shows the path: if you still think that the kind of compilation&lt;br /&gt;
optimization that motivates hierarchical libraries is relevant, you can&lt;br /&gt;
achieve it by a more sophisticated compiler without need to increase the&lt;br /&gt;
size of the language.  The feature may be well-designed, but it is&lt;br /&gt;
nevertheless dead weight.  In addition, it has been shown to undermine one&lt;br /&gt;
of the most valuable conceptual assets of Ada: the safety of packages (with&lt;br /&gt;
unwanted self-proclaimed children getting access to the private part).&lt;br /&gt;
&lt;br /&gt;
The fact that a feature is well designed does not mean that it has to be&lt;br /&gt;
part of the language: designing the architecture of a programming language&lt;br /&gt;
is about choice and responsible choice is always &amp;quot;either/or&amp;quot;, rarely &amp;quot;all&lt;br /&gt;
of&amp;quot;.  Failing to choose will mean more to learn, more to implement, less&lt;br /&gt;
efficiency, and less chances for Ada to succeed.&lt;br /&gt;
&lt;br /&gt;
CONCLUSION&lt;br /&gt;
&lt;br /&gt;
I have certainly hesitated before sending this open letter.  Some very good&lt;br /&gt;
friends have expressed concerns about possible negative impact on Ada.&lt;br /&gt;
Clearly, my present assessment of the situation is quite different and&lt;br /&gt;
I think that the 9X program requires a very substantial reorientation to&lt;br /&gt;
succeed: I see more risk in continuing in the present course than in&lt;br /&gt;
attempting a courageous reorientation.&lt;br /&gt;
&lt;br /&gt;
Others who share my concerns have reacted on the assumption that, anyway,&lt;br /&gt;
it is too late.  My hope is that this is not the case, and my belief is that&lt;br /&gt;
the current plans and schedules are unrealistic to the degree that a&lt;br /&gt;
reorientation is the only way to achieve something in a reasonable time.&lt;br /&gt;
In 1981, Larry Druffel sponsored a parallel group - Emilion - to study an&lt;br /&gt;
alternative.  This could be an example to follow.&lt;br /&gt;
&lt;br /&gt;
In acknowledgment of the fact that it has not been possible for me to make&lt;br /&gt;
an effective contribution, and also in view of my reluctance to be&lt;br /&gt;
associated with something whose complexity I disapprove and whose aesthetics&lt;br /&gt;
I can neither see nor share, I will no longer participate to Distinguished&lt;br /&gt;
Reviewers meetings and would like my name to be removed from the list. &lt;br /&gt;
I will see if I can be more effective from outside the group (for that matter,&lt;br /&gt;
I would like to be on the list of Volunteer Reviewers).&lt;br /&gt;
&lt;br /&gt;
I was looking forward to be one of those promoting 9X but this does not&lt;br /&gt;
appear to be possible at the present time.&lt;br /&gt;
&lt;br /&gt;
Sincerely,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jean D. Ichbiah&lt;br /&gt;
Architect of the Ada Language&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- &lt;br /&gt;
**************************************************************************&lt;br /&gt;
Greg Aharonian&lt;br /&gt;
Source Translation &amp;amp; Optimiztion&lt;br /&gt;
P.O. Box 404, Belmont, MA 02178&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=J_Ichbiah_mail_20_nov_1992&amp;diff=158</id>
		<title>J Ichbiah mail 20 nov 1992</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=J_Ichbiah_mail_20_nov_1992&amp;diff=158"/>
		<updated>2025-04-29T12:28:06Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Created page with &amp;quot;&amp;lt;nowiki&amp;gt;  From comp.lang.ada Tue Apr  6 11:03:18 1993 Newsgroups: comp.lang.ada Path: utcsri!newsflash.concordia.ca!uunet!world!srctran From: srctran@world.std.com (Gregory Aharonian) Subject: Ichbiah&amp;#039;s letter to Anderson: Here it is Message-ID: &amp;lt;SRCTRAN.93Apr6103639@world.std.com&amp;gt; Sender: srctran@world.std.com (Gregory Aharonian) Organization: The World Distribution: comp.lang.ada Date: Tue, 6 Apr 1993 15:36:39 GMT Lines: 406      By contacting Dr. Ichbiah, I have recei...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From comp.lang.ada Tue Apr  6 11:03:18 1993&lt;br /&gt;
Newsgroups: comp.lang.ada&lt;br /&gt;
Path: utcsri!newsflash.concordia.ca!uunet!world!srctran&lt;br /&gt;
From: srctran@world.std.com (Gregory Aharonian)&lt;br /&gt;
Subject: Ichbiah&#039;s letter to Anderson: Here it is&lt;br /&gt;
Message-ID: &amp;lt;SRCTRAN.93Apr6103639@world.std.com&amp;gt;&lt;br /&gt;
Sender: srctran@world.std.com (Gregory Aharonian)&lt;br /&gt;
Organization: The World&lt;br /&gt;
Distribution: comp.lang.ada&lt;br /&gt;
Date: Tue, 6 Apr 1993 15:36:39 GMT&lt;br /&gt;
Lines: 406&lt;br /&gt;
&lt;br /&gt;
    By contacting Dr. Ichbiah, I have received permission to post his letter&lt;br /&gt;
to Christine Anderson to comp.lang.ada.  Here it is.  While I can&#039;t comment&lt;br /&gt;
on the technical aspects of his letter, from a marketing point of view, Ada9X&lt;br /&gt;
sounds like a disaster.  It may be a great, fantastic language that is under&lt;br /&gt;
development, but if Dr. Ichbiah&#039;s concerns are even partially valid, than&lt;br /&gt;
Ada9X will win even less market share than Ada83.  Upward incompatibility,&lt;br /&gt;
complexity of features, usurping of roles provided by third party packages,&lt;br /&gt;
and stretched out timetables for approval, development and release of new&lt;br /&gt;
compilers?  This is every marketing manager&#039;s nightmare.  And given Jean&#039;s&lt;br /&gt;
involvement with a commercial product oriented company, I would give much&lt;br /&gt;
signifigance to his market impact comments.   Forget about windows of&lt;br /&gt;
opportunity being shut.  They will be shut, boarded up, and wired with&lt;br /&gt;
explosives.&lt;br /&gt;
&lt;br /&gt;
    By the way, does anyone know if the Ada9X effort has a marketing&lt;br /&gt;
subcommittee, a group to look into how Ada is going to survive in the&lt;br /&gt;
non-Mandated world.  I would love to serve on such a committee, but have&lt;br /&gt;
not noticed anything.&lt;br /&gt;
&lt;br /&gt;
Greg Aharonian&lt;br /&gt;
Source Translation &amp;amp; Optimization&lt;br /&gt;
==============================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
~Subject: A Farewell to Ada with null&lt;br /&gt;
~Date: Fri, 20 Nov 92 00:51:25 EST&lt;br /&gt;
~From: Jean D Ichbiah &amp;lt;ichbiah@ajpo.sei.cmu.edu&amp;gt;&lt;br /&gt;
&lt;br /&gt;
~From:       Jean D Ichbiah&lt;br /&gt;
To:         Chris Anderson&lt;br /&gt;
cc:         DRs, VRs, Iso [other Adaphiles]&lt;br /&gt;
&lt;br /&gt;
~subject:    A Farewell to Ada with null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dear Chris,&lt;br /&gt;
&lt;br /&gt;
For now almost one year, I have tried very hard to work for the&lt;br /&gt;
simplification of Ada 9X.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;From the start, I have been very worried by the massive complexity of the&lt;br /&gt;
9X proposals. As you certainly remember, this is a concern that I have&lt;br /&gt;
expressed to you in earlier correspondance: I was concerned that the&lt;br /&gt;
resulting complexity would lose some users as well as some implementers.&lt;br /&gt;
I was also seeing a risk that the Ada community would not follow if the&lt;br /&gt;
intellectual &amp;quot;distance&amp;quot; and the upward incompatibility were too high.&lt;br /&gt;
&lt;br /&gt;
At the same time I was intrigued by the quality of the individual features&lt;br /&gt;
that were proposed - you indeed selected one of the best feature designers&lt;br /&gt;
and it is unclear that, on a feature-by-feature basis, better could have&lt;br /&gt;
been accomplished.  And I was hoping that the DRs and Iso processes would&lt;br /&gt;
bring a reduction to an acceptable size, to something that is intellectually&lt;br /&gt;
manageable. I was also hoping that it would be ultimately possible to dress&lt;br /&gt;
the new concepts in a simpler, more regular, more attractive, more beautiful&lt;br /&gt;
syntax, which could redeem some of the complexity. And it is fair to say&lt;br /&gt;
that I was encouraged in that hope by a very favorable mail response on the&lt;br /&gt;
network.&lt;br /&gt;
&lt;br /&gt;
It is now time for me to acknowledge that my efforts have failed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I have encountered an unusual degree of intolerance to&lt;br /&gt;
outside contributions which meant that more time was spent fighting my&lt;br /&gt;
attempts to improve than analyzing their merits. This was clearly becoming&lt;br /&gt;
counterproductive and at the Iso meeting in Salem, my attempts to simplify,&lt;br /&gt;
supported by 2 and opposed by 2, ultimately lost to 6 courageous abstentions.&lt;br /&gt;
This happened according to the rules and the outcome is not one that can be&lt;br /&gt;
disputed.&lt;br /&gt;
&lt;br /&gt;
Nevertheless, I do not like the current proposal. (Of course, in all&lt;br /&gt;
fairness, I will withhold final judgment until the proposal is final - my&lt;br /&gt;
inveterate, irrational optimism again.)  More than most people, I am driven&lt;br /&gt;
by aesthetic considerations and the strong belief that only beautiful shape&lt;br /&gt;
can be correct shape.  And for me, a striking symbol of the lack of&lt;br /&gt;
aesthetic considerations in the new proposals are contained in the construct&lt;br /&gt;
&lt;br /&gt;
          with null&lt;br /&gt;
&lt;br /&gt;
coldly logic, ultimately ugly - the engineers had it their way and had Ada&lt;br /&gt;
9X become Ada with null.&lt;br /&gt;
&lt;br /&gt;
Alltogether, my impression of the present proposal reminds me of my awe when&lt;br /&gt;
first crossing this bridge in Boston: the Mystic River Bridge. It certainly&lt;br /&gt;
met the requirements but the accumulation and clutter of metal was&lt;br /&gt;
oppressive and threatening and ... my preference will always go to the&lt;br /&gt;
Golden Gate Bridge. The first had engineered features, the second had an&lt;br /&gt;
Architect and a prodigious Architecture with charm.&lt;br /&gt;
&lt;br /&gt;
But my discomfort with the course in which 9X appears to be irreparably&lt;br /&gt;
engaged goes well beyond the aesthetics. I will review the main ones in what&lt;br /&gt;
follows.&lt;br /&gt;
&lt;br /&gt;
THE EXPLOSION OF COMPLEXITY&lt;br /&gt;
&lt;br /&gt;
A massive increase in complexity, will result from 9X adding one or more&lt;br /&gt;
additional possibilities where Ada now offers two. For example, 9X adds:&lt;br /&gt;
&lt;br /&gt;
  *  root types, to types and universal types&lt;br /&gt;
&lt;br /&gt;
  *  aliased, to constant and variable&lt;br /&gt;
&lt;br /&gt;
  *  inherently limited, to limited and not limited&lt;br /&gt;
&lt;br /&gt;
  *  protected types, to subprograms, packages, and tasks&lt;br /&gt;
&lt;br /&gt;
  *  decimal and unsigned types, to integer and real types&lt;br /&gt;
&lt;br /&gt;
  *  access parameters, to in, out, and in out&lt;br /&gt;
&lt;br /&gt;
  *  accessibility and dynamic accessibility, to scope and visibility&lt;br /&gt;
&lt;br /&gt;
  *  accessibility checks, to constraint checks&lt;br /&gt;
&lt;br /&gt;
  *  tagged types, to normal types&lt;br /&gt;
&lt;br /&gt;
  *  dispatched subprogram calls, to normal subprogram calls&lt;br /&gt;
&lt;br /&gt;
  *  use type clause, to use package clauses&lt;br /&gt;
&lt;br /&gt;
  *  barriers, to conditions  ...&lt;br /&gt;
&lt;br /&gt;
Now, if 10 of these interact and with an average 2 possibilities in each&lt;br /&gt;
case, we roughly have 1000 possible interactions in current Ada (that is,&lt;br /&gt;
2**10).  But with 9X, the number of interactions to consider is close to&lt;br /&gt;
60,000 since we have 3 or more possibilities in each case (that is, 3**10).&lt;br /&gt;
As you see, it is very legitimate to talk of an EXPLOSION in complexity if&lt;br /&gt;
it has been multiplied by 60!  Some will argue that an interaction on 10&lt;br /&gt;
planes is unusual.  But even with 5 planes, we get a very significant&lt;br /&gt;
increase by a factor of 8 (since 2**5 is 32, and 3**5 is 243).&lt;br /&gt;
&lt;br /&gt;
Clearly, some of the above extensions are desirable.  But taken altogether&lt;br /&gt;
they result in an undesirable complexity.&lt;br /&gt;
&lt;br /&gt;
EXTRA COMPLEXITY IS OBJECTIONABLE&lt;br /&gt;
&lt;br /&gt;
Extra complexity, to this degree, is very objectionable for implementers and&lt;br /&gt;
the Ada industry.  &lt;br /&gt;
&lt;br /&gt;
On one hand, it will delay and significantly increase the effort of building&lt;br /&gt;
compilers, with the risk that some vendors will drop out of the market.&lt;br /&gt;
(I understand that you intend to relax the validation requirements in the&lt;br /&gt;
short term. But this abandon of the no-subset rule will have Ada lose one &lt;br /&gt;
of its major advantages over competing languages: the high degree of&lt;br /&gt;
compatibility between implementations.)  For the surviving vendors, the&lt;br /&gt;
scale of changes is likely to set them back by several years in terms of&lt;br /&gt;
reliability and performance of implementations.  (Whatever comfort would&lt;br /&gt;
come from the prototype implementations is illusory. They are test-tube&lt;br /&gt;
experiments that have concentrated on certain facets; they have not been&lt;br /&gt;
able to test the interactions of features.)&lt;br /&gt;
&lt;br /&gt;
Moreover, the additional effort required by this complexity will compete for&lt;br /&gt;
resources and thereby prevent the Ada Industry from investing sufficiently&lt;br /&gt;
in interfaces.  I have said it several times before, but it is worth&lt;br /&gt;
repeating:  I consider the lack of interfaces to be the most severe&lt;br /&gt;
impediment to increasing usage of Ada - witness the absence of a credible&lt;br /&gt;
Ada solution for Windows development - and this diversion of resources from&lt;br /&gt;
interfaces severely diminishes the chances for Ada&#039;s long term success.&lt;br /&gt;
&lt;br /&gt;
The extra complexity is equally objectionable from a user&#039;s point of view.&lt;br /&gt;
&lt;br /&gt;
Ada has provided so far an attractive base for software engineering and for&lt;br /&gt;
the development of large reliable programs.  Ada struck at the right level:&lt;br /&gt;
more complex than Pascal - since it offered facilities that the users needed&lt;br /&gt;
- - but not as complex as C++.  So it meant that average programmers could&lt;br /&gt;
develop a level of command of its concepts with which they could develop&lt;br /&gt;
programs whose structure, actions, and consequences they understood and&lt;br /&gt;
mastered - an absolute requirement for reliability.&lt;br /&gt;
&lt;br /&gt;
But this simplicity does not appear to be preserved with the 9X current&lt;br /&gt;
proposals, whose complexity are likely to be beyond that of C++.  And if we&lt;br /&gt;
were to lose the simplicity advantage over C++, what would remain of the&lt;br /&gt;
advantages of Ada?&lt;br /&gt;
&lt;br /&gt;
Finally, the extra complexity is very objectionable because the resulting&lt;br /&gt;
delays severely endanger the chances of positioning Ada in the main stream&lt;br /&gt;
of object-oriented programming.  We run the risk of missing the window of&lt;br /&gt;
opportunity.&lt;br /&gt;
&lt;br /&gt;
THE ILS APPROACH AND MORE DELAYS&lt;br /&gt;
&lt;br /&gt;
The current approach taken for specifying the language is based on the&lt;br /&gt;
so-called ILS (the Integrated Language Specification). The sheer size of the&lt;br /&gt;
document should be a severe warning about the complexity of the current&lt;br /&gt;
proposals:  It is larger than the Ada Reference Manual although it purports&lt;br /&gt;
to describe the changes with respect to this former manual.&lt;br /&gt;
&lt;br /&gt;
But the most striking aspect of the ILS (beyond the size) is the&lt;br /&gt;
uncontrolled proliferation of new jargon, replacing or adding a large number&lt;br /&gt;
of new technical terms.  The developers of the ILS have argued that this is&lt;br /&gt;
a temporary document whose purpose is to specify the changes and that their&lt;br /&gt;
intent is to develop a Revised Reference Manual in the style that has been&lt;br /&gt;
so successful for Ada (83).&lt;br /&gt;
&lt;br /&gt;
On one hand, the level of details covered in the ILS have certainly helped&lt;br /&gt;
in revealing the interactions of the new features and, thereby, their&lt;br /&gt;
complexity.&lt;br /&gt;
&lt;br /&gt;
However, the approach is unlikely to work:  In refining the language&lt;br /&gt;
proposals, the small local decisions are going to be very influenced by the&lt;br /&gt;
terms that are used.  The words we use influence the concepts:  they often&lt;br /&gt;
dictate technical choices that keep the description simple and&lt;br /&gt;
understandable. This has been my experience with the formulation of the&lt;br /&gt;
Green manual, and that of the Ada 80, and Ada 83 reference manuals. The ILS&lt;br /&gt;
approach tries to postpone the difficulty but it will mean that these local&lt;br /&gt;
trade-offs will be done in terms of the ILS jargon and will have to be&lt;br /&gt;
redone when you scale down the terminology to the style of the final&lt;br /&gt;
reference manual.&lt;br /&gt;
&lt;br /&gt;
As this will take a lot of time, the temptation will be to have the&lt;br /&gt;
standard be an ILS-style document.  If this were to happen, Ada would lose&lt;br /&gt;
another of its key advantages - that of having a standard that is readable&lt;br /&gt;
by most programmers, to the degree that compilers formulate error messages&lt;br /&gt;
in terms of sections of the reference manual.  This approach would also lose&lt;br /&gt;
the &amp;quot;intellectual capital&amp;quot; invested by the Ada community in the&lt;br /&gt;
understanding of the Ada definition.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;From where we are now, I regard the current goal of having a draft reference&lt;br /&gt;
manual in June 1993 as unrealistic by at least six to nine months. (Unlike&lt;br /&gt;
Cassandra, I speak here with experience. Like Cassandra, however, I may&lt;br /&gt;
share the dual attributes of being right and not believed.)  The ILS&lt;br /&gt;
approach is actually postponing the moment where the team will be in a&lt;br /&gt;
position to understand the complexity of what they are trying to do, as well&lt;br /&gt;
as the complexity of describing their proposals.  So it is postponing the&lt;br /&gt;
time when they will be able to give a reasonable estimate of completion&lt;br /&gt;
time.&lt;br /&gt;
&lt;br /&gt;
UPWARD INCOMPATIBILITY&lt;br /&gt;
&lt;br /&gt;
I am also worried at the growing level of upward incompatibility of 9X with&lt;br /&gt;
Ada. As a measure of this growing divergence, the list published in the&lt;br /&gt;
November 92 issue of Ada letters contained 12 categories of upward&lt;br /&gt;
incompatibilities.  A more recent list, compiled from the ILS now counts&lt;br /&gt;
some 30 different categories (and this is not just a different&lt;br /&gt;
categorization).  While a small number of them are language improvements&lt;br /&gt;
(for example, the better enforcement of a contract model for generic units)&lt;br /&gt;
many of them reflect an attitude that is too tolerant of upward&lt;br /&gt;
incompatibility (for example, the elimination of accuracy constraints in&lt;br /&gt;
subtypes and that of named notation for operators).&lt;br /&gt;
&lt;br /&gt;
Upward compatibility shoud be addressed much more strictly.  Success of 9X&lt;br /&gt;
will not happen unless it is a superset of current Ada:  Existing compilers&lt;br /&gt;
will have to be maintained for their current applications and the resources&lt;br /&gt;
do not exist to maintain two separate families of compilers.  Moreover, very&lt;br /&gt;
strict upward compatibility is a prerequisite for the strategy of gradual&lt;br /&gt;
introduction of 9X features in existing Ada compilers.&lt;br /&gt;
&lt;br /&gt;
WHAT WAS AND IS NEEDED&lt;br /&gt;
&lt;br /&gt;
What we have seen is a reflection of the inherent inability of committees to&lt;br /&gt;
make choices.  In this respect, it should be no surprise that the decision&lt;br /&gt;
process has led to this overweight since historical precedent of efforts to&lt;br /&gt;
achieve similar consensus have had similar results for other languages&lt;br /&gt;
(PL/I ...). Moreover, we have had to face the unusual situation of a team&lt;br /&gt;
who has been pushing for always more features. The combination has produced&lt;br /&gt;
the current inflation.&lt;br /&gt;
&lt;br /&gt;
With the 9X revision process, we were considering a language revision, as&lt;br /&gt;
opposed to the design of an entirely new language. It seemed therefore, that&lt;br /&gt;
the rules implied that improvements had to be sought within the frame of the&lt;br /&gt;
existing language and with a certain modesty that did not exclude an&lt;br /&gt;
occasional &amp;quot;cadenza&amp;quot; for the revision team.  &lt;br /&gt;
&lt;br /&gt;
In this spirit, the key decision was the choice of ONE major area where the&lt;br /&gt;
revision would decide to concentrate efforts to extend current Ada. The rest&lt;br /&gt;
being a collection of smaller scale - and nevertheless important - decisions&lt;br /&gt;
such as the international character set and various local improvements&lt;br /&gt;
(aggregates, preferences, ...).&lt;br /&gt;
&lt;br /&gt;
Along with many others, I have argued that this area of focus should be the&lt;br /&gt;
Object-Oriented Programming features (including the ability to pass&lt;br /&gt;
subprograms as parameters).  The semantics developed for these features is&lt;br /&gt;
indeed quite attractive (even if the syntax badly needs improvement).&lt;br /&gt;
The priority for OOP comes from a real market requirement - these features&lt;br /&gt;
will attract new users to Ada - and also from the ability to reuse the&lt;br /&gt;
significant work that was done in libraries of classes for C++ and Turbo&lt;br /&gt;
Pascal.  So it is part of the effort to interface Ada with the outside world&lt;br /&gt;
and to reuse software and methods that are developed outside Ada.&lt;br /&gt;
&lt;br /&gt;
If we limited the revision to this level, we could certainly have something&lt;br /&gt;
rather elegant, well in the spirit of Ada, which could be ready within the&lt;br /&gt;
original schedule, and for which implementations could be achieved rapidly&lt;br /&gt;
and in an upward compatible manner.&lt;br /&gt;
&lt;br /&gt;
The current trouble comes from having tried to achieve consensus by&lt;br /&gt;
satisfying all user communities and - in part - this is what has led to the&lt;br /&gt;
proposed plethora of new features and the ensuing complexity. I have argued&lt;br /&gt;
in other places that, since we had to choose, we had to be more modest in&lt;br /&gt;
the area of real-time, perhaps addressing only improvements in the area of&lt;br /&gt;
priority handling.  &lt;br /&gt;
&lt;br /&gt;
The logic behind this choice is that we are dealing with a community that is&lt;br /&gt;
already using Ada for moderately time-critical applications.  When they are&lt;br /&gt;
not using Ada tasking, they are working with some set of packaged real-time&lt;br /&gt;
primitives: Cifo, Extra, Posix, or some other proprietary kernel.  At the&lt;br /&gt;
other end of the spectrum, for extremely time-critical applications, they&lt;br /&gt;
are working with packages of even lower-level primitives.&lt;br /&gt;
&lt;br /&gt;
In most cases, these packaged solutions were adopted because it was&lt;br /&gt;
considered that they offered the best combination of advantages: the Ada&lt;br /&gt;
modularity and reliability, and the real-time primitives offered by the&lt;br /&gt;
package. Moreover, when outside interfacing reasons dictate the choice of&lt;br /&gt;
primitives, such as Posix, nothing that we do in Ada is likely to change the&lt;br /&gt;
approach. Given the level of consensus achieved for these packaged&lt;br /&gt;
approaches in their respective areas, and given the need fore interfacing&lt;br /&gt;
with other languages, it is very unlikely that the corresponding user&lt;br /&gt;
communities would switch to a different approach - even if they found new&lt;br /&gt;
Ada  features to meet their requirements.  Consequently, the Ada industry&lt;br /&gt;
will have to provide support for these packaged approaches regardless of&lt;br /&gt;
what is done by the language revision.&lt;br /&gt;
&lt;br /&gt;
Moreover, the choice of Ada over some competing language such as C or C++&lt;br /&gt;
is not going to depend on the presence of tasking features since these&lt;br /&gt;
competing alternatives do not have any.  On the contrary, the presence in&lt;br /&gt;
9X of features that they do not use could be an argument for not using the&lt;br /&gt;
language as people fear the distributed inefficiencies that are commonplace&lt;br /&gt;
for implementation of new languages (and with the level of change presently&lt;br /&gt;
contemplated, 9X would be a new language to which the fine-tuning that took&lt;br /&gt;
place for Ada in the past ten years would not apply).&lt;br /&gt;
&lt;br /&gt;
So the above considerations show that any effort that we expend on real-time&lt;br /&gt;
features has a low return on investment as far as attracting users to Ada.&lt;br /&gt;
Hence this is an obvious area for substantial reduction.&lt;br /&gt;
&lt;br /&gt;
Others depend more on containing the team&#039;s natural inclination to add more&lt;br /&gt;
features.  I will limit myself to two significant examples.&lt;br /&gt;
&lt;br /&gt;
The first feature is the introduction of discriminant for classes.  This is&lt;br /&gt;
something that exists in no other language that has OOP features, and&lt;br /&gt;
apparently for good reasons when we see the complexity that the interaction&lt;br /&gt;
of classes and discriminants has induced in 9X. Besides complexity, the&lt;br /&gt;
other reason why other languages have avoided discriminants for classes is&lt;br /&gt;
that they are not that useful for the dynamic style of programming that is&lt;br /&gt;
customary for the applications contemplated.  Discriminants serve for static&lt;br /&gt;
parameterization, but the style of programming used for, say windows&lt;br /&gt;
applications, liberally uses dynamic creation and quite justifyably so when&lt;br /&gt;
you consider the decreasing costs of processors.  So this is the domain of&lt;br /&gt;
late binding, of dynamic dispatching, and if you need to have a string, you&lt;br /&gt;
naturally allocate it dynamically (where a static view would have used&lt;br /&gt;
discriminants).  So the inability to sort out objectives, and to choose,&lt;br /&gt;
results in significant complexity without real gain.&lt;br /&gt;
&lt;br /&gt;
The second example is in the area of separate compilation.  Early Ada&lt;br /&gt;
compilers were slow and the need to optimize compilations was very acute.&lt;br /&gt;
Fortunately,  you can now compile well over 100,000 lines in an hour on a&lt;br /&gt;
very low cost machine (a 486) so that this is now a problem of the past.&lt;br /&gt;
But this problem of the past has resulted in the 9X feature of hierarchical&lt;br /&gt;
libraries.&lt;br /&gt;
&lt;br /&gt;
I will argue that this is again unneeded complexity.  First, we have to&lt;br /&gt;
recognize that current Ada already goes much beyond other languages for&lt;br /&gt;
separate compilation of interfaces.  Other languages such as Turbo Pascal&lt;br /&gt;
for Windows do allow a form of package - the Pascal units - but the&lt;br /&gt;
interface and the body are one single text.  So you would expect Turbo&lt;br /&gt;
Pascal compilation to be slow ... except that the compiler is smart enough&lt;br /&gt;
to distinguish changes to the interface from changes to the implementation.&lt;br /&gt;
This shows the path: if you still think that the kind of compilation&lt;br /&gt;
optimization that motivates hierarchical libraries is relevant, you can&lt;br /&gt;
achieve it by a more sophisticated compiler without need to increase the&lt;br /&gt;
size of the language.  The feature may be well-designed, but it is&lt;br /&gt;
nevertheless dead weight.  In addition, it has been shown to undermine one&lt;br /&gt;
of the most valuable conceptual assets of Ada: the safety of packages (with&lt;br /&gt;
unwanted self-proclaimed children getting access to the private part).&lt;br /&gt;
&lt;br /&gt;
The fact that a feature is well designed does not mean that it has to be&lt;br /&gt;
part of the language: designing the architecture of a programming language&lt;br /&gt;
is about choice and responsible choice is always &amp;quot;either/or&amp;quot;, rarely &amp;quot;all&lt;br /&gt;
of&amp;quot;.  Failing to choose will mean more to learn, more to implement, less&lt;br /&gt;
efficiency, and less chances for Ada to succeed.&lt;br /&gt;
&lt;br /&gt;
CONCLUSION&lt;br /&gt;
&lt;br /&gt;
I have certainly hesitated before sending this open letter.  Some very good&lt;br /&gt;
friends have expressed concerns about possible negative impact on Ada.&lt;br /&gt;
Clearly, my present assessment of the situation is quite different and&lt;br /&gt;
I think that the 9X program requires a very substantial reorientation to&lt;br /&gt;
succeed: I see more risk in continuing in the present course than in&lt;br /&gt;
attempting a courageous reorientation.&lt;br /&gt;
&lt;br /&gt;
Others who share my concerns have reacted on the assumption that, anyway,&lt;br /&gt;
it is too late.  My hope is that this is not the case, and my belief is that&lt;br /&gt;
the current plans and schedules are unrealistic to the degree that a&lt;br /&gt;
reorientation is the only way to achieve something in a reasonable time.&lt;br /&gt;
In 1981, Larry Druffel sponsored a parallel group - Emilion - to study an&lt;br /&gt;
alternative.  This could be an example to follow.&lt;br /&gt;
&lt;br /&gt;
In acknowledgment of the fact that it has not been possible for me to make&lt;br /&gt;
an effective contribution, and also in view of my reluctance to be&lt;br /&gt;
associated with something whose complexity I disapprove and whose aesthetics&lt;br /&gt;
I can neither see nor share, I will no longer participate to Distinguished&lt;br /&gt;
Reviewers meetings and would like my name to be removed from the list. &lt;br /&gt;
I will see if I can be more effective from outside the group (for that matter,&lt;br /&gt;
I would like to be on the list of Volunteer Reviewers).&lt;br /&gt;
&lt;br /&gt;
I was looking forward to be one of those promoting 9X but this does not&lt;br /&gt;
appear to be possible at the present time.&lt;br /&gt;
&lt;br /&gt;
Sincerely,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jean D. Ichbiah&lt;br /&gt;
Architect of the Ada Language&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- &lt;br /&gt;
**************************************************************************&lt;br /&gt;
Greg Aharonian&lt;br /&gt;
Source Translation &amp;amp; Optimiztion&lt;br /&gt;
P.O. Box 404, Belmont, MA 02178&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=157</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=157"/>
		<updated>2025-04-29T12:25:33Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A [[J_Ichbiah_mail_20_nov_1992|mail]] from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=156</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=156"/>
		<updated>2025-04-29T12:22:19Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Some documents from prominent actors&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The Jean Ichbiah [[ :File:Interview Ichbiah 1984.pdf  | ACM interview ]] in 1984 exposes his point of view on Ada 83.&lt;br /&gt;
A mail from J.Ichbiah to Christine Anderson in november 1992 is interesting from the point of view of this site, as it shows that preservation of Ada 83 is not only a computing history necessary task, but also the preservation of some qualities that revisions damaged.&lt;br /&gt;
J.P.Rosen in his book &amp;quot;Méthodes de génie logiciel avec Ada 95&amp;quot; (préambule section 3.2 p.30) notes that heritage opposes to static type verification.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Interview_Ichbiah_1984.pdf&amp;diff=155</id>
		<title>File:Interview Ichbiah 1984.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Interview_Ichbiah_1984.pdf&amp;diff=155"/>
		<updated>2025-04-29T11:51:23Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Rapport d&amp;#039;interview &amp;quot;ADA: PAST, PRESENT, FUTURE
An Interview with JEAN ICHBIAH,
the Principal Designer of Ada&amp;quot;, Comm. ACM, Vol 27, n°10, 1984.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Rapport d&#039;interview &amp;quot;ADA: PAST, PRESENT, FUTURE&lt;br /&gt;
An Interview with JEAN ICHBIAH,&lt;br /&gt;
the Principal Designer of Ada&amp;quot;, Comm. ACM, Vol 27, n°10, 1984.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=154</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=154"/>
		<updated>2025-04-29T11:48:15Z</updated>

		<summary type="html">&lt;p&gt;Vmo: /* The ENST theses and P.Kruchten / J.P.Rosen documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten [[ :File:Thèse-P-Kruchten-ENST-1986.pdf | &amp;quot;une machine Ada virtuelle : architecture&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen [[ :File:Thèse-JP-Rosen-ENST-1986.pdf  | &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot; ]]&lt;br /&gt;
&lt;br /&gt;
A short article, 3 pages, from J.P.Rosen on the Ada way of managing numerical computing portability is [[ File:Rosen Ada Numerics Model-AUJ43.pdf | here ]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Rosen_Ada_Numerics_Model-AUJ43.pdf&amp;diff=153</id>
		<title>File:Rosen Ada Numerics Model-AUJ43.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Rosen_Ada_Numerics_Model-AUJ43.pdf&amp;diff=153"/>
		<updated>2025-04-29T11:41:53Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Court article de 3 pages qui apporte un intéressant éclairage sur la façon de gérer le calcul réel avec Ada.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Court article de 3 pages qui apporte un intéressant éclairage sur la façon de gérer le calcul réel avec Ada.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Th%C3%A8se-JP-Rosen-ENST-1986.pdf&amp;diff=152</id>
		<title>File:Thèse-JP-Rosen-ENST-1986.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Th%C3%A8se-JP-Rosen-ENST-1986.pdf&amp;diff=152"/>
		<updated>2025-04-29T11:23:32Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Thèse de J.P.Rosen passée en 1986 à l&amp;#039;ENST &amp;quot;une machine virtuelle pour Ada : le système d&amp;#039;exploitation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Thèse de J.P.Rosen passée en 1986 à l&#039;ENST &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Th%C3%A8se-P-Kruchten-ENST-1986.pdf&amp;diff=151</id>
		<title>File:Thèse-P-Kruchten-ENST-1986.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Th%C3%A8se-P-Kruchten-ENST-1986.pdf&amp;diff=151"/>
		<updated>2025-04-29T11:21:13Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Thèse de Philippe KRUCHTEN passée en octobre 1986 à l&amp;#039;ENST &amp;quot;une machine Ada virtuelle : architecture&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Thèse de Philippe KRUCHTEN passée en octobre 1986 à l&#039;ENST &amp;quot;une machine Ada virtuelle : architecture&amp;quot;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=150</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=150"/>
		<updated>2025-04-29T11:19:30Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== &#039;&#039;&#039;The LRM&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Various other documents and studies&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
==== The ENST theses and P.Kruchten / J.P.Rosen documents ====&lt;br /&gt;
&lt;br /&gt;
A la fin de 1986, deux thèses sont passée à l&#039;ENST (Ecole Nationale Supérieure des Télécommunications) un travail fait en collaboration avec l&#039;équipe du projet NYUADA auquel travaille alors [https://en.wikipedia.org/wiki/Robert_Dewar Robert Dewar].&lt;br /&gt;
&lt;br /&gt;
* Thèse de Philippe Kruchten &amp;quot;une machine Ada virtuelle : architecture&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Thèse de Jean Pierre Rosen &amp;quot;une machine virtuelle pour Ada : le système d&#039;exploitation&amp;quot;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=149</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=149"/>
		<updated>2025-04-29T10:57:53Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039; ==&lt;br /&gt;
=== The LRM ===&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the [[ :File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf | Language Reference Manual ]] (LRM) published by the DoD. This document comprizes 338 pages with annexes and indexes.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is [[ : File:DEC ada lrm.pdf  | here ]].&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf&amp;diff=148</id>
		<title>File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:Ada-Ref-Manual-ANSI-MIL-STD-1815A.pdf&amp;diff=148"/>
		<updated>2025-04-29T10:44:38Z</updated>

		<summary type="html">&lt;p&gt;Vmo: The original Dod Ada Language Reference Manual for Ada 83 scanned.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The original Dod Ada Language Reference Manual for Ada 83 scanned.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=File:DEC_ada_lrm.pdf&amp;diff=147</id>
		<title>File:DEC ada lrm.pdf</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=File:DEC_ada_lrm.pdf&amp;diff=147"/>
		<updated>2025-04-29T10:39:06Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Digital Equipment Corporation annotated Ada 83 Language Reference Manual for DEC Ada.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Digital Equipment Corporation annotated Ada 83 Language Reference Manual for DEC Ada.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Documentation&amp;diff=146</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Documentation&amp;diff=146"/>
		<updated>2025-04-29T10:36:15Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Ada 83 documentation&amp;#039;&amp;#039;&amp;#039;  The primary source of information is the Language Reference Manual (LRM) published by the DoD.  Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is here.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ada 83 documentation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The primary source of information is the Language Reference Manual (LRM) published by the DoD.&lt;br /&gt;
&lt;br /&gt;
Given the importance of the DEC (Digital Equipment Corporation) in the Ada 83 decade, a lot of people knew or worked with DEC Ada whose commented LRM is here.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=145</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=145"/>
		<updated>2025-04-29T10:31:27Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|500px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is around 175 pages long, which makes it accessible to an individual.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering [[Ada_83_history|history]] facts and [[Ada_83_tools|tools]] [[documentation]] ans [[Ada_83_examples|examples]] written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_tools&amp;diff=144</id>
		<title>Ada 83 tools</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_tools&amp;diff=144"/>
		<updated>2025-04-23T09:58:31Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Types of Ada 83 tools.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As for any computer language, tools for Ada 83 include [[Editing services|editing services]] and [[Compilers|compilers]] toolchains.&lt;br /&gt;
&lt;br /&gt;
Other categories of tools are of special usefulness in Ada 83, that is cross referencing tools, and structure analysis tools.&lt;br /&gt;
&lt;br /&gt;
Ada 83 has been specified for designing and implementing extensive software systems. Tools for displaying high level program structure are very useful, but choosing what aspects of the structure are to be displayed and how has never been very satisfactorily resolved.&lt;br /&gt;
&lt;br /&gt;
An overview of such problems can be perceived by reading [https://dl.acm.org/doi/pdf/10.1145/71327.71333 &amp;quot;A simplified graphic notation for Ada programs&amp;quot;] by D.Sterne et al. Ada Letters, September/October 1989 Vol.IX N°6.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_tools&amp;diff=143</id>
		<title>Ada 83 tools</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_tools&amp;diff=143"/>
		<updated>2025-04-23T09:44:02Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Created page with &amp;quot;Types of Ada 83 tools.  As for any computer language, tools for Ada 83 include editing services and compilers toolchains.  Other categories of tools are of special usefulness in Ada 83, that is cross referencing tools, and structure analysis tools.  Ada 83 has been specified for designing and implementing extensive software systems. Tools for displaying high level program structure are very useful, but choosing what aspects of the struc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Types of Ada 83 tools.&lt;br /&gt;
&lt;br /&gt;
As for any computer language, tools for Ada 83 include [[Editing services|editing services]] and [[Compilers|compilers]] toolchains.&lt;br /&gt;
&lt;br /&gt;
Other categories of tools are of special usefulness in Ada 83, that is cross referencing tools, and structure analysis tools.&lt;br /&gt;
&lt;br /&gt;
Ada 83 has been specified for designing and implementing extensive software systems. Tools for displaying high level program structure are very useful, but choosing what aspects of the structure are to be displayed and how has never been very satisfactorily resolved.&lt;br /&gt;
&lt;br /&gt;
An overview of such problems can be perceived by reading &amp;quot;A SIMPLIFIED GRAPHIC NOTATION FOR Ada PROGRAMS&amp;quot; by D.Sterne et al.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_on_AVR_chips&amp;diff=138</id>
		<title>Ada 83 on AVR chips</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_on_AVR_chips&amp;diff=138"/>
		<updated>2025-03-29T16:08:55Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ada 83 on AVR microcontrollers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The famous Arduino Uno uses an Atmel ATMEGA 328P chip. The base module for 328P register map can be conveniently expressed by a &#039;&#039;&#039;record&#039;&#039;&#039; type and its representation clause.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ada&amp;quot;&amp;gt;&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
-- CC BY SA	ATMEGA_328P.ADS	VINCENT MORIN	23/3/2025		UNIVERSITE DE BRETAGNE OCCIDENTALE&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--	1	2	3	4	5	6	7	8	9	0	1	2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with TYPES;&lt;br /&gt;
use  TYPES;&lt;br /&gt;
&lt;br /&gt;
						-----------&lt;br /&gt;
		package				ATMEGA_328P&lt;br /&gt;
						-----------&lt;br /&gt;
is&lt;br /&gt;
&lt;br /&gt;
  type RAM_MAP is record&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 534 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	PIN_B, DDR_B, PORT_B			: BYTE;&lt;br /&gt;
	PIN_C, DDR_C, PORT_C			: BYTE;						&lt;br /&gt;
	PIN_D, DDR_D, PORT_D			: BYTE;						&lt;br /&gt;
	TIFR0_OCF0A, TIFR0_OCF0B, TIFR0_TOV0		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIFR1_ICF1,&lt;br /&gt;
	TIFR1_OCF1A, TIFR1_OCF1B, TIFR1_TOV1		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIFR2_OCF2A, TIFR2_OCF2B, TIFR2_TOV2		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	PCIFR					: U3;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 533 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	EIFR_INTF,&lt;br /&gt;
	EIMSK_INT					: U2;&lt;br /&gt;
	GPIOR0					: U8;&lt;br /&gt;
&lt;br /&gt;
	EECR_EEPM					: U2;&lt;br /&gt;
	EECR_EERIE, EECR_EEMPE, EECR_EEPE,&lt;br /&gt;
	EECR_EERE					: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	EEDR					: U8;&lt;br /&gt;
	EEAR					: U16;&lt;br /&gt;
&lt;br /&gt;
	GTCCR_TSM, GTCCR_PSRASY, GTCCR_PSRSYNC		: BOOLEAN;&lt;br /&gt;
	&lt;br /&gt;
	TCCR0A_COM0A, TCCR0A_COM0B, TCCR0A_WGM		: U2;&lt;br /&gt;
&lt;br /&gt;
	TCCR0B_WGM				: BOOLEAN;&lt;br /&gt;
	TCCR0B_CS					: U3;&lt;br /&gt;
	TCCR0B_FOC0A, TCCR0B_FOC0B			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TCNT0,&lt;br /&gt;
	OCR0A,&lt;br /&gt;
	OCR0B					: U8;&lt;br /&gt;
&lt;br /&gt;
	GPIOR1, GPIOR2				: U8;&lt;br /&gt;
	SPCR_SPIE, SPCR_SPE,  SPCR_DORD,&lt;br /&gt;
	SPCR_MSTR, SPCR_CPOL, SPCR_CPHA		: BOOLEAN;&lt;br /&gt;
	SPCR_SPR					: U2;&lt;br /&gt;
&lt;br /&gt;
	SPSR_SPIF, SPSR_WCOL, SPSR_SPI2X		: BOOLEAN;&lt;br /&gt;
	SPDR					: U8;&lt;br /&gt;
&lt;br /&gt;
	ACSR_ACD,  ACSR_ACBG, ACSR_ACO, ACSR_ACI,&lt;br /&gt;
	ACSR_ACIE, ACSR_ACIC			: BOOLEAN;&lt;br /&gt;
	ACSR_ACIS					: U2;&lt;br /&gt;
&lt;br /&gt;
	SMCR_SM					: U3;&lt;br /&gt;
	SMCR_SE					: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	MCUSR_WDRF, MCUSR_BORF, MCUSR_EXTRF,&lt;br /&gt;
	MCUSR_PORF				: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	MCUCR_BODS,  MCUCR_BODSE, MCUCR_PUD,&lt;br /&gt;
	MCUCR_IVSEL, MCUCR_IVCE			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	SPMCSR_SPMIE,  SPMCSR_RWWSB,&lt;br /&gt;
	SPMCSR_RWWSRE, SPMCSR_BLBSET,&lt;br /&gt;
	SPMCSR_PGWRT,  SPMCSR_PGERS,&lt;br /&gt;
	SPMCSR_SELFPRGEN				: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	SP					: U11;&lt;br /&gt;
&lt;br /&gt;
	SREG_I, SREG_T, SREG_H, SREG_S,&lt;br /&gt;
	SREG_V, SREG_N, SREG_Z, SREG_C		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	WDTCSR_WDIF, WDTCSR_WDIE, WDTCSR_WDP3,&lt;br /&gt;
	WDTCSR_WDCE, WDTCSR_WDE			: BOOLEAN;&lt;br /&gt;
	WDTCSR_WDP				: U3;&lt;br /&gt;
&lt;br /&gt;
	CLKPR_CLKPCE				: BOOLEAN;&lt;br /&gt;
	CLKPR_CLKPS				: U4;&lt;br /&gt;
&lt;br /&gt;
	PRR_PRTWI,  PRR_PRTIM2, PRR_PRTIM0,&lt;br /&gt;
	PRR_PRTIM1, PRR_PRSPI,  PRR_PRUSART0,&lt;br /&gt;
	PRR_PRADC					: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	OSCCAL					: U8;&lt;br /&gt;
	PCICR_PCIE				: U3;&lt;br /&gt;
&lt;br /&gt;
	EICRA_ISC1, EICRA_ISC0			: U2;&lt;br /&gt;
&lt;br /&gt;
	PCMSK0_PCINT, PCMSK1_PCINT, PCMSK2_PCINT	: U8;&lt;br /&gt;
&lt;br /&gt;
	TIMSK0_OCIE0B,&lt;br /&gt;
	TIMSK0_OCIE0A, TIMSK0_TOIE0			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIMSK1_ICIE1,  TIMSK1_OCIE1B,&lt;br /&gt;
	TIMSK1_OCIE1A, TIMSK1_TOIE1			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIMSK2_OCIE2B,&lt;br /&gt;
	TIMSK2_OCIE2A, TIMSK2_TOIE2			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	ADC					: U16;&lt;br /&gt;
	ADCSRA_ADEN,  ADCSRA_ADSC,&lt;br /&gt;
	ADCSRA_ADATE, ADCSRA_ADIF,&lt;br /&gt;
	ADCSRA_ADIE,  ADMUX_ADLAR,&lt;br /&gt;
	ADCSRB_ACME				: BOOLEAN;&lt;br /&gt;
	ADCSRA_ADPS,  ADCSRB_ADTS			: U3;&lt;br /&gt;
	ADMUX_REFS				: U2;&lt;br /&gt;
	ADMUX_MUX					: U4;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 532 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	DIDR0_ADC5D, DIDR0_ADC4D, DIDR0_ADC3D,&lt;br /&gt;
	DIDR0_ADC2D, DIDR0_ADC1D, DIDR0_ADC0D		: BOOLEAN;&lt;br /&gt;
	DIDR1_AIN1D, DIDR1_AIN0D			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TCCR1A_COM1A, TCCR1A_COM1B, TCCR1A_WGM		: U2;&lt;br /&gt;
	TCCR1B_ICNC1, TCCR1B_ICES1			: BOOLEAN;&lt;br /&gt;
	TCCR1B_WGM				: U2;&lt;br /&gt;
	TCCR1B_CS					: U3;&lt;br /&gt;
	TCCR1C_FOC1A, TCCR1C_FOC1B			: BOOLEAN;&lt;br /&gt;
	TCNT1, ICR1,  OCR1A, OCR1B			: U16;&lt;br /&gt;
&lt;br /&gt;
	TCCR2A_COM2A, TCCR2A_COM2B, TCCR2A_WGM		: U2;&lt;br /&gt;
	TCCR2B_WGM				: BOOLEAN;&lt;br /&gt;
	TCCR2B_CS					: U3;&lt;br /&gt;
	TCCR2B_FOC2A, TCCR2B_FOC2B			: BOOLEAN;&lt;br /&gt;
	TCNT2, OCR2A, OCR2B				: U8;&lt;br /&gt;
&lt;br /&gt;
	ASSR_EXCLK,   ASSR_AS2,	ASSR_TCN2UB,&lt;br /&gt;
	ASSR_OCR2AUB, ASSR_OCR2BUB,&lt;br /&gt;
	ASSR_TCR2AUB, ASSR_TCR2BUB			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TWBR					: U8;&lt;br /&gt;
	TWSR_TWS					: U5;&lt;br /&gt;
	TWSR_TWPS					: U2;&lt;br /&gt;
	TWAR_TWA					: U7;&lt;br /&gt;
	TWAR_TWGCE				: BOOLEAN;&lt;br /&gt;
	TWDR					: U8;&lt;br /&gt;
	TWCR_TWINT, TWCR_TWEA, TWCR_TWSTA,&lt;br /&gt;
	TWCR_TWSTO, TWCR_TWWC, TWCR_TWEN,&lt;br /&gt;
	TWCR_TWIE					: BOOLEAN;&lt;br /&gt;
	TWAMR_TWAM				: U7;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 531 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	UCSR0A_RXC0, UCSR0A_TXC0, UCSR0A_UDRE0,&lt;br /&gt;
	UCSR0A_FE0,  UCSR0A_DOR0, UCSR0A_UPE0,&lt;br /&gt;
	UCSR0A_U2X0, UCSR0A_MPCM0			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	UCSR0B_RXCIE0, UCSR0B_TXCIE0,&lt;br /&gt;
	UCSR0B_UDRIE0, UCSR0B_RXEN0,&lt;br /&gt;
	UCSR0B_TXEN0,  UCSR0B_UCSZ02,&lt;br /&gt;
	UCSR0B_RXB80,  UCSR0B_TXB80			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	UCSR0C_UMSEL0, UCSR0C_UPM0,&lt;br /&gt;
	UCSR0C_UCSZ0				: U2;&lt;br /&gt;
	UCSR0C_USBS0, UCSR0C_UCPOL0			: BOOLEAN;&lt;br /&gt;
	UBRR					: U12;&lt;br /&gt;
	UDR0					: U8;&lt;br /&gt;
	end record;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  for RAM_MAP use&lt;br /&gt;
	record at mod 1;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 534 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#23# .. 16#2B#&lt;br /&gt;
	PIN_B		at 16#23# range 0..7;&lt;br /&gt;
	DDR_B		at 16#24# range 0..7;&lt;br /&gt;
	PORT_B		at 16#25# range 0..7;&lt;br /&gt;
	PIN_C		at 16#26# range 0..7;&lt;br /&gt;
	DDR_C		at 16#27# range 0..7;&lt;br /&gt;
	PORT_C		at 16#28# range 0..7;&lt;br /&gt;
	PIN_D		at 16#29# range 0..7;&lt;br /&gt;
	DDR_D		at 16#2A# range 0..7;&lt;br /&gt;
	PORT_D		at 16#2B# range 0..7;&lt;br /&gt;
-- 16#35#&lt;br /&gt;
	TIFR0_OCF0A	at 16#35# range 1..1;	TIFR0_OCF0B	at 16#35# range 2..2;&lt;br /&gt;
	TIFR0_TOV0	at 16#35# range 0..0;&lt;br /&gt;
-- 16#36#&lt;br /&gt;
	TIFR1_ICF1	at 16#36# range 5..5;	TIFR1_OCF1A	at 16#36# range 1..1;&lt;br /&gt;
	TIFR1_OCF1B	at 16#36# range 2..2;	TIFR1_TOV1	at 16#36# range 0..0;&lt;br /&gt;
-- 16#37#&lt;br /&gt;
	TIFR2_OCF2A	at 16#37# range 1..1;	TIFR2_OCF2B	at 16#37# range 2..2;&lt;br /&gt;
	TIFR2_TOV2	at 16#37# range 0..0;&lt;br /&gt;
-- 16#3B#&lt;br /&gt;
	PCIFR		at 16#3B# range 0..2;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 533 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#3C#&lt;br /&gt;
	EIFR_INTF		at 16#3C# range 0..1;&lt;br /&gt;
-- 16#3D#&lt;br /&gt;
	EIMSK_INT		at 16#3D# range 0..1;&lt;br /&gt;
-- 16#3E#&lt;br /&gt;
	GPIOR0		at 16#3E# range 0..7;&lt;br /&gt;
-- 16#3F#&lt;br /&gt;
	EECR_EEPM		at 16#3F# range 4..5;	EECR_EERIE	at 16#3F# range 3..3;&lt;br /&gt;
	EECR_EEMPE	at 16#3F# range 2..2;	EECR_EEPE		at 16#3F# range 1..1;&lt;br /&gt;
	EECR_EERE		at 16#3F# range 0..0;&lt;br /&gt;
-- 16#40#&lt;br /&gt;
	EEDR		at 16#40# range 0..7;&lt;br /&gt;
-- 16#41#&lt;br /&gt;
	EEAR		at 16#41# range 0..15;&lt;br /&gt;
-- 16#43#&lt;br /&gt;
	GTCCR_TSM		at 16#43# range 7..7;	GTCCR_PSRASY	at 16#43# range 1..1;&lt;br /&gt;
	GTCCR_PSRSYNC	at 16#43# range 0..0;&lt;br /&gt;
-- 16#44#&lt;br /&gt;
	TCCR0A_COM0A	at 16#44# range 6..7;	TCCR0A_COM0B	at 16#44# range 4..5;&lt;br /&gt;
	TCCR0A_WGM	at 16#44# range 0..1;&lt;br /&gt;
-- 16#45#&lt;br /&gt;
	TCCR0B_FOC0A	at 16#45# range 7..7;	TCCR0B_FOC0B	at 16#45# range 6..6;&lt;br /&gt;
	TCCR0B_WGM	at 16#45# range 3..3;	TCCR0B_CS		at 16#45# range 0..2;&lt;br /&gt;
-- 16#46#&lt;br /&gt;
	TCNT0		at 16#46# range 0..7;&lt;br /&gt;
-- 16#47#&lt;br /&gt;
	OCR0A		at 16#47# range 0..7;&lt;br /&gt;
-- 16#48#&lt;br /&gt;
	OCR0B		at 16#48# range 0..7;&lt;br /&gt;
-- 16#4A#&lt;br /&gt;
	GPIOR1		at 16#4A# range 0..7;&lt;br /&gt;
-- 16#4B#&lt;br /&gt;
	GPIOR2		at 16#4B# range 0..7;&lt;br /&gt;
-- 16#4C#&lt;br /&gt;
	SPCR_SPIE		at 16#4C# range 7..7;	SPCR_SPE		at 16#4C# range 6..6;&lt;br /&gt;
	SPCR_DORD		at 16#4C# range 5..5;	SPCR_MSTR		at 16#4C# range 4..4;&lt;br /&gt;
	SPCR_CPOL		at 16#4C# range 3..3;	SPCR_CPHA		at 16#4C# range 2..2;&lt;br /&gt;
	SPCR_SPR		at 16#4C# range 0..1;&lt;br /&gt;
-- 16#4D#&lt;br /&gt;
	SPSR_SPIF		at 16#4D# range 7..7;	SPSR_WCOL		at 16#4D# range 6..6;&lt;br /&gt;
	SPSR_SPI2X	at 16#4D# range 0..0;&lt;br /&gt;
-- 16#4E#&lt;br /&gt;
	SPDR		at 16#4E# range 0..7;&lt;br /&gt;
-- 16#50#&lt;br /&gt;
	ACSR_ACD		at 16#50# range 7..7;	ACSR_ACBG		at 16#50# range 6..6;&lt;br /&gt;
	ACSR_ACO		at 16#50# range 5..5;	ACSR_ACI		at 16#50# range 4..4;&lt;br /&gt;
	ACSR_ACIE		at 16#50# range 3..3;	ACSR_ACIC		at 16#50# range 2..2;&lt;br /&gt;
	ACSR_ACIS		at 16#50# range 0..1;&lt;br /&gt;
-- 16#53#&lt;br /&gt;
	SMCR_SM		at 16#53# range 1..3;&lt;br /&gt;
	SMCR_SE		at 16#53# range 0..0;&lt;br /&gt;
-- 16#54#&lt;br /&gt;
	MCUSR_WDRF	at 16#54# range 3..3;	MCUSR_BORF	at 16#54# range 2..2;&lt;br /&gt;
	MCUSR_EXTRF	at 16#54# range 1..1;	MCUSR_PORF	at 16#54# range 0..0;&lt;br /&gt;
-- 16#55#&lt;br /&gt;
	MCUCR_BODS	at 16#55# range 6..6;	MCUCR_BODSE	at 16#55# range 5..5;&lt;br /&gt;
	MCUCR_PUD		at 16#55# range 4..4;	MCUCR_IVSEL	at 16#55# range 1..1;&lt;br /&gt;
	MCUCR_IVCE	at 16#55# range 0..0;&lt;br /&gt;
-- 16#57#&lt;br /&gt;
	SPMCSR_SPMIE	at 16#57# range 7..7;	SPMCSR_RWWSB	at 16#57# range 6..6;&lt;br /&gt;
	SPMCSR_RWWSRE	at 16#57# range 4..4;	SPMCSR_BLBSET	at 16#57# range 3..3;&lt;br /&gt;
	SPMCSR_PGWRT	at 16#57# range 2..2;	SPMCSR_PGERS	at 16#57# range 1..1;&lt;br /&gt;
	SPMCSR_SELFPRGEN	at 16#57# range 0..0;&lt;br /&gt;
-- 16#5D#&lt;br /&gt;
	SP		at 16#5D# range 0..10;&lt;br /&gt;
-- 16#5F#&lt;br /&gt;
	SREG_I		at 16#5F# range 7..7;	SREG_T		at 16#5F# range 6..6;&lt;br /&gt;
	SREG_H		at 16#5F# range 5..5;	SREG_S		at 16#5F# range 4..4;&lt;br /&gt;
	SREG_V		at 16#5F# range 3..3;	SREG_N		at 16#5F# range 2..2;&lt;br /&gt;
	SREG_Z		at 16#5F# range 1..1;	SREG_C		at 16#5F# range 0..0;&lt;br /&gt;
-- 16#60#&lt;br /&gt;
	WDTCSR_WDIF	at 16#60# range 7..7;	WDTCSR_WDIE	at 16#60# range 6..6;&lt;br /&gt;
	WDTCSR_WDP3	at 16#60# range 5..5;	WDTCSR_WDCE	at 16#60# range 4..4;&lt;br /&gt;
	WDTCSR_WDE	at 16#60# range 3..3;	WDTCSR_WDP	at 16#60# range 0..2;&lt;br /&gt;
-- 16#61#&lt;br /&gt;
	CLKPR_CLKPCE	at 16#61# range 7..7;&lt;br /&gt;
	CLKPR_CLKPS	at 16#61# range 0..3;&lt;br /&gt;
-- 16#64#&lt;br /&gt;
	PRR_PRTWI		at 16#64# range 7..7;	PRR_PRTIM2	at 16#64# range 6..6;&lt;br /&gt;
	PRR_PRTIM0	at 16#64# range 5..5;	PRR_PRTIM1	at 16#64# range 3..3;&lt;br /&gt;
	PRR_PRSPI		at 16#64# range 2..2;	PRR_PRUSART0	at 16#64# range 1..1;&lt;br /&gt;
	PRR_PRADC		at 16#64# range 0..0;&lt;br /&gt;
-- 16#66#&lt;br /&gt;
	OSCCAL		at 16#66# range 0..7;&lt;br /&gt;
-- 16#68#&lt;br /&gt;
	PCICR_PCIE	at 16#68# range 0..2;&lt;br /&gt;
-- 16#69#&lt;br /&gt;
	EICRA_ISC1	at 16#69# range 2..3;	EICRA_ISC0	at 16#69# range 0..1;&lt;br /&gt;
-- 16#6B#&lt;br /&gt;
	PCMSK0_PCINT	at 16#6B# range 0..7;&lt;br /&gt;
-- 16#6C#&lt;br /&gt;
	PCMSK1_PCINT	at 16#6C# range 0..7;&lt;br /&gt;
-- 16#6D#&lt;br /&gt;
	PCMSK2_PCINT	at 16#6D# range 0..7;&lt;br /&gt;
-- 16#6E#&lt;br /&gt;
	TIMSK0_OCIE0B	at 16#6E# range 2..2;	TIMSK0_OCIE0A	at 16#6E# range 1..1;&lt;br /&gt;
	TIMSK0_TOIE0	at 16#6E# range 0..0;&lt;br /&gt;
-- 16#6F#&lt;br /&gt;
	TIMSK1_ICIE1	at 16#6F# range 5..5;&lt;br /&gt;
	TIMSK1_OCIE1B	at 16#6F# range 2..2;	TIMSK1_OCIE1A	at 16#6F# range 1..1;&lt;br /&gt;
	TIMSK1_TOIE1	at 16#6F# range 0..0;&lt;br /&gt;
-- 16#70#&lt;br /&gt;
	TIMSK2_OCIE2B	at 16#70# range 2..2;	TIMSK2_OCIE2A	at 16#70# range 1..1;&lt;br /&gt;
	TIMSK2_TOIE2	at 16#70# range 0..0;&lt;br /&gt;
-- 16#78#&lt;br /&gt;
	ADC		at 16#78# range 0..15;&lt;br /&gt;
-- 16#7A#&lt;br /&gt;
	ADCSRA_ADEN	at 16#7A# range 7..7;	ADCSRA_ADSC	at 16#7A# range 6..6;&lt;br /&gt;
	ADCSRA_ADATE	at 16#7A# range 5..5;	ADCSRA_ADIF	at 16#7A# range 4..4;&lt;br /&gt;
	ADCSRA_ADIE	at 16#7A# range 3..3;	ADCSRA_ADPS	at 16#7A# range 0..2;&lt;br /&gt;
-- 16#7B#&lt;br /&gt;
	ADCSRB_ACME	at 16#7B# range 6..6;	ADCSRB_ADTS	at 16#7B# range 0..2;&lt;br /&gt;
-- 16#7C#&lt;br /&gt;
	ADMUX_REFS	at 16#7C# range 6..7;	ADMUX_ADLAR	at 16#7C# range 5..5;&lt;br /&gt;
	ADMUX_MUX		at 16#7C# range 0..3;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 532 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#7E#&lt;br /&gt;
	DIDR0_ADC5D	at 16#7E# range 5..5;	DIDR0_ADC4D	at 16#7E# range 4..4;&lt;br /&gt;
	DIDR0_ADC3D	at 16#7E# range 3..3;	DIDR0_ADC2D	at 16#7E# range 2..2;&lt;br /&gt;
	DIDR0_ADC1D	at 16#7E# range 1..1;	DIDR0_ADC0D	at 16#7E# range 0..0;&lt;br /&gt;
-- 16#7F#&lt;br /&gt;
	DIDR1_AIN1D	at 16#7F# range 1..1;	DIDR1_AIN0D	at 16#7F# range 0..0;&lt;br /&gt;
-- 16#80#&lt;br /&gt;
	TCCR1A_COM1A	at 16#80# range 6..7;	TCCR1A_COM1B	at 16#80# range 4..5;&lt;br /&gt;
	TCCR1A_WGM	at 16#80# range 0..1;&lt;br /&gt;
-- 16#81#&lt;br /&gt;
	TCCR1B_ICNC1	at 16#81# range 7..7;	TCCR1B_ICES1	at 16#81# range 6..6;&lt;br /&gt;
	TCCR1B_WGM	at 16#81# range 3..4;	TCCR1B_CS		at 16#81# range 0..2;&lt;br /&gt;
-- 16#82#&lt;br /&gt;
	TCCR1C_FOC1A	at 16#82# range 7..7;	TCCR1C_FOC1B	at 16#82# range 6..6;&lt;br /&gt;
-- 16#84#&lt;br /&gt;
	TCNT1		at 16#84# range 0..15;&lt;br /&gt;
-- 16#86#&lt;br /&gt;
	ICR1		at 16#86# range 0..15;&lt;br /&gt;
-- 16#88#&lt;br /&gt;
	OCR1A		at 16#88# range 0..15;&lt;br /&gt;
-- 16#8A#&lt;br /&gt;
	OCR1B		at 16#8A# range 0..15;&lt;br /&gt;
-- 16#B0#&lt;br /&gt;
	TCCR2A_COM2A	at 16#B0# range 6..7;	TCCR2A_COM2B	at 16#B0# range 4..5;&lt;br /&gt;
	TCCR2A_WGM	at 16#B0# range 0..1;&lt;br /&gt;
-- 16#B1#&lt;br /&gt;
	TCCR2B_FOC2A	at 16#B1# range 7..7;	TCCR2B_FOC2B	at 16#B1# range 6..6;&lt;br /&gt;
	TCCR2B_WGM	at 16#B1# range 3..3;	TCCR2B_CS		at 16#B1# range 0..2;&lt;br /&gt;
-- 16#B2#&lt;br /&gt;
	TCNT2		at 16#B2# range 0..7;&lt;br /&gt;
-- 16#B3#&lt;br /&gt;
	OCR2A		at 16#B3# range 0..7;&lt;br /&gt;
-- 16#B4#&lt;br /&gt;
	OCR2B		at 16#B4# range 0..7;&lt;br /&gt;
-- 16#B6#&lt;br /&gt;
	ASSR_EXCLK	at 16#B6# range 6..6;	ASSR_AS2		at 16#B6# range 5..5;&lt;br /&gt;
	ASSR_TCN2UB	at 16#B6# range 4..4;	ASSR_OCR2AUB	at 16#B6# range 3..3;&lt;br /&gt;
	ASSR_OCR2BUB	at 16#B6# range 2..2;	ASSR_TCR2AUB	at 16#B6# range 1..1;&lt;br /&gt;
	ASSR_TCR2BUB	at 16#B6# range 0..0;&lt;br /&gt;
-- 16#B8#&lt;br /&gt;
	TWBR		at 16#B8# range 0..7;&lt;br /&gt;
-- 16#B9#&lt;br /&gt;
	TWSR_TWS		at 16#B9# range 3..7;&lt;br /&gt;
	TWSR_TWPS		at 16#B9# range 0..1;&lt;br /&gt;
-- 16#BA#&lt;br /&gt;
	TWAR_TWA		at 16#BA# range 1..7;&lt;br /&gt;
	TWAR_TWGCE	at 16#BA# range 0..0;&lt;br /&gt;
-- 16#BB#&lt;br /&gt;
	TWDR		at 16#BB# range 0..7;&lt;br /&gt;
-- 16#BC#&lt;br /&gt;
	TWCR_TWINT	at 16#BC# range 7..7;	TWCR_TWEA		at 16#BC# range 6..6;&lt;br /&gt;
	TWCR_TWSTA	at 16#BC# range 5..5;	TWCR_TWSTO	at 16#BC# range 4..4;&lt;br /&gt;
	TWCR_TWWC		at 16#BC# range 3..3;	TWCR_TWEN		at 16#BC# range 2..2;&lt;br /&gt;
	TWCR_TWIE		at 16#BC# range 0..0;&lt;br /&gt;
-- 16#BD#&lt;br /&gt;
	TWAMR_TWAM	at 16#BD# range 1..7;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 531 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#C0#&lt;br /&gt;
	UCSR0A_RXC0	at 16#C0# range 7..7;	UCSR0A_TXC0	at 16#C0# range 6..6;&lt;br /&gt;
	UCSR0A_UDRE0	at 16#C0# range 5..5;	UCSR0A_FE0	at 16#C0# range 4..4;&lt;br /&gt;
	UCSR0A_DOR0	at 16#C0# range 3..3;	UCSR0A_UPE0	at 16#C0# range 2..2;&lt;br /&gt;
	UCSR0A_U2X0	at 16#C0# range 1..1;	UCSR0A_MPCM0	at 16#C0# range 0..0;&lt;br /&gt;
-- 16#C1#&lt;br /&gt;
	UCSR0B_RXCIE0	at 16#C1# range 7..7;	UCSR0B_TXCIE0	at 16#C1# range 6..6;&lt;br /&gt;
	UCSR0B_UDRIE0	at 16#C1# range 5..5;	UCSR0B_RXEN0	at 16#C1# range 4..4;&lt;br /&gt;
	UCSR0B_TXEN0	at 16#C1# range 3..3;	UCSR0B_UCSZ02	at 16#C1# range 2..2;&lt;br /&gt;
	UCSR0B_RXB80	at 16#C1# range 1..1;	UCSR0B_TXB80	at 16#C1# range 0..0;&lt;br /&gt;
-- 16#C2#&lt;br /&gt;
	UCSR0C_UMSEL0	at 16#C2# range 6..7;	UCSR0C_UPM0	at 16#C2# range 4..5;&lt;br /&gt;
	UCSR0C_USBS0	at 16#C2# range 3..3;	UCSR0C_UCSZ0	at 16#C2# range 1..2;&lt;br /&gt;
	UCSR0C_UCPOL0	at 16#C2# range 0..0;&lt;br /&gt;
-- 16#C4#&lt;br /&gt;
	UBRR		at 16#C4# range 0..11;&lt;br /&gt;
-- 16#C6#&lt;br /&gt;
	UDR0		at 16#C6# range 0..7;&lt;br /&gt;
-- OUF !!&lt;br /&gt;
	end record;&lt;br /&gt;
&lt;br /&gt;
	pragma PACK( RAM_MAP );&lt;br /&gt;
&lt;br /&gt;
  REG	: RAM_MAP;	for REG&#039;ADDRESS use 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  procedure VECT_1;		pragma EXPORT ( C, VECT_1, &amp;quot;__vector_1&amp;quot; );&lt;br /&gt;
  procedure VECT_2;		pragma EXPORT ( C, VECT_2, &amp;quot;__vector_2&amp;quot; );&lt;br /&gt;
  procedure VECT_3;		pragma EXPORT ( C, VECT_3, &amp;quot;__vector_3&amp;quot; );&lt;br /&gt;
  procedure VECT_4;		pragma EXPORT ( C, VECT_4, &amp;quot;__vector_4&amp;quot; );&lt;br /&gt;
  procedure VECT_5;		pragma EXPORT ( C, VECT_5, &amp;quot;__vector_5&amp;quot; );&lt;br /&gt;
  procedure VECT_6;		pragma EXPORT ( C, VECT_6, &amp;quot;__vector_6&amp;quot; );&lt;br /&gt;
  procedure VECT_7;		pragma EXPORT ( C, VECT_7, &amp;quot;__vector_7&amp;quot; );&lt;br /&gt;
  procedure VECT_8;		pragma EXPORT ( C, VECT_8, &amp;quot;__vector_8&amp;quot; );&lt;br /&gt;
  procedure VECT_9;		pragma EXPORT ( C, VECT_9, &amp;quot;__vector_9&amp;quot; );&lt;br /&gt;
  procedure VECT_10;	pragma EXPORT ( C, VECT_10, &amp;quot;__vector_10&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
  procedure VECT_12;	pragma EXPORT ( C, VECT_12, &amp;quot;__vector_12&amp;quot; );&lt;br /&gt;
  procedure VECT_13;	pragma EXPORT ( C, VECT_13, &amp;quot;__vector_13&amp;quot; );&lt;br /&gt;
  procedure VECT_14;	pragma EXPORT ( C, VECT_14, &amp;quot;__vector_14&amp;quot; );&lt;br /&gt;
  procedure VECT_15;	pragma EXPORT ( C, VECT_15, &amp;quot;__vector_15&amp;quot; );&lt;br /&gt;
  procedure VECT_16;	pragma EXPORT ( C, VECT_16, &amp;quot;__vector_16&amp;quot; );&lt;br /&gt;
  procedure VECT_17;	pragma EXPORT ( C, VECT_17, &amp;quot;__vector_17&amp;quot; );&lt;br /&gt;
  procedure VECT_20;	pragma EXPORT ( C, VECT_20, &amp;quot;__vector_20&amp;quot; );&lt;br /&gt;
  procedure VECT_21;	pragma EXPORT ( C, VECT_21, &amp;quot;__vector_21&amp;quot; );&lt;br /&gt;
  procedure VECT_22;	pragma EXPORT ( C, VECT_22, &amp;quot;__vector_22&amp;quot; );&lt;br /&gt;
  procedure VECT_23;	pragma EXPORT ( C, VECT_23, &amp;quot;__vector_23&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
  procedure VECT_25;	pragma EXPORT ( C, VECT_25, &amp;quot;__vector_25&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
	-----------&lt;br /&gt;
end	ATMEGA_328P;&lt;br /&gt;
	-----------&lt;br /&gt;
&lt;br /&gt;
--	1	2	3	4	5	6	7	8	9	0	1	2&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_on_AVR_chips&amp;diff=137</id>
		<title>Ada 83 on AVR chips</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_on_AVR_chips&amp;diff=137"/>
		<updated>2025-03-29T16:06:05Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ada 83 on AVR microcontrollers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The famous Arduino Uno uses an Atmel ATMEGA 328P chip. The base module for 328P register map can be conveniently expressed by a &#039;&#039;&#039;record&#039;&#039;&#039; type and its representation clause.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ada&amp;quot;&amp;gt;&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
-- CC BY SA	ATMEGA_328P.ADS	VINCENT MORIN	23/3/2025		UNIVERSITE DE BRETAGNE OCCIDENTALE&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
--	1	2	3	4	5	6	7	8	9	0	1	2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with TYPES;&lt;br /&gt;
use  TYPES;&lt;br /&gt;
&lt;br /&gt;
						-----------&lt;br /&gt;
		package				ATMEGA_328P&lt;br /&gt;
						-----------&lt;br /&gt;
is&lt;br /&gt;
&lt;br /&gt;
  type RAM_MAP is record&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 534 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	PIN_B, DDR_B, PORT_B			: BYTE;						-- VALEUR SUR BROCHE EXTERNE ENTREE, DIRECTION, VALEUR INTERNE SORTIE&lt;br /&gt;
	PIN_C, DDR_C, PORT_C			: BYTE;						-- VALEUR SUR BROCHE EXTERNE ENTREE, DIRECTION, VALEUR INTERNE SORTIE&lt;br /&gt;
	PIN_D, DDR_D, PORT_D			: BYTE;						-- VALEUR SUR BROCHE EXTERNE ENTREE, DIRECTION, VALEUR INTERNE SORTIE&lt;br /&gt;
&lt;br /&gt;
	TIFR0_OCF0A, TIFR0_OCF0B, TIFR0_TOV0		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIFR1_ICF1,&lt;br /&gt;
	TIFR1_OCF1A, TIFR1_OCF1B, TIFR1_TOV1		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIFR2_OCF2A, TIFR2_OCF2B, TIFR2_TOV2		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	PCIFR					: U3;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 533 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	EIFR_INTF,&lt;br /&gt;
	EIMSK_INT					: U2;&lt;br /&gt;
	GPIOR0					: U8;&lt;br /&gt;
&lt;br /&gt;
	EECR_EEPM					: U2;&lt;br /&gt;
	EECR_EERIE, EECR_EEMPE, EECR_EEPE,&lt;br /&gt;
	EECR_EERE					: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	EEDR					: U8;&lt;br /&gt;
	EEAR					: U16;&lt;br /&gt;
&lt;br /&gt;
	GTCCR_TSM, GTCCR_PSRASY, GTCCR_PSRSYNC		: BOOLEAN;&lt;br /&gt;
	&lt;br /&gt;
	TCCR0A_COM0A, TCCR0A_COM0B, TCCR0A_WGM		: U2;&lt;br /&gt;
&lt;br /&gt;
	TCCR0B_WGM				: BOOLEAN;&lt;br /&gt;
	TCCR0B_CS					: U3;&lt;br /&gt;
	TCCR0B_FOC0A, TCCR0B_FOC0B			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TCNT0,&lt;br /&gt;
	OCR0A,&lt;br /&gt;
	OCR0B					: U8;&lt;br /&gt;
&lt;br /&gt;
	GPIOR1, GPIOR2				: U8;&lt;br /&gt;
	SPCR_SPIE, SPCR_SPE,  SPCR_DORD,&lt;br /&gt;
	SPCR_MSTR, SPCR_CPOL, SPCR_CPHA		: BOOLEAN;&lt;br /&gt;
	SPCR_SPR					: U2;&lt;br /&gt;
&lt;br /&gt;
	SPSR_SPIF, SPSR_WCOL, SPSR_SPI2X		: BOOLEAN;&lt;br /&gt;
	SPDR					: U8;&lt;br /&gt;
&lt;br /&gt;
	ACSR_ACD,  ACSR_ACBG, ACSR_ACO, ACSR_ACI,&lt;br /&gt;
	ACSR_ACIE, ACSR_ACIC			: BOOLEAN;&lt;br /&gt;
	ACSR_ACIS					: U2;&lt;br /&gt;
&lt;br /&gt;
	SMCR_SM					: U3;&lt;br /&gt;
	SMCR_SE					: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	MCUSR_WDRF, MCUSR_BORF, MCUSR_EXTRF,&lt;br /&gt;
	MCUSR_PORF				: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	MCUCR_BODS,  MCUCR_BODSE, MCUCR_PUD,&lt;br /&gt;
	MCUCR_IVSEL, MCUCR_IVCE			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	SPMCSR_SPMIE,  SPMCSR_RWWSB,&lt;br /&gt;
	SPMCSR_RWWSRE, SPMCSR_BLBSET,&lt;br /&gt;
	SPMCSR_PGWRT,  SPMCSR_PGERS,&lt;br /&gt;
	SPMCSR_SELFPRGEN				: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	SP					: U11;&lt;br /&gt;
&lt;br /&gt;
	SREG_I, SREG_T, SREG_H, SREG_S,&lt;br /&gt;
	SREG_V, SREG_N, SREG_Z, SREG_C		: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	WDTCSR_WDIF, WDTCSR_WDIE, WDTCSR_WDP3,&lt;br /&gt;
	WDTCSR_WDCE, WDTCSR_WDE			: BOOLEAN;&lt;br /&gt;
	WDTCSR_WDP				: U3;&lt;br /&gt;
&lt;br /&gt;
	CLKPR_CLKPCE				: BOOLEAN;&lt;br /&gt;
	CLKPR_CLKPS				: U4;&lt;br /&gt;
&lt;br /&gt;
	PRR_PRTWI,  PRR_PRTIM2, PRR_PRTIM0,&lt;br /&gt;
	PRR_PRTIM1, PRR_PRSPI,  PRR_PRUSART0,&lt;br /&gt;
	PRR_PRADC					: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	OSCCAL					: U8;&lt;br /&gt;
	PCICR_PCIE				: U3;&lt;br /&gt;
&lt;br /&gt;
	EICRA_ISC1, EICRA_ISC0			: U2;&lt;br /&gt;
&lt;br /&gt;
	PCMSK0_PCINT, PCMSK1_PCINT, PCMSK2_PCINT	: U8;&lt;br /&gt;
&lt;br /&gt;
	TIMSK0_OCIE0B,&lt;br /&gt;
	TIMSK0_OCIE0A, TIMSK0_TOIE0			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIMSK1_ICIE1,  TIMSK1_OCIE1B,&lt;br /&gt;
	TIMSK1_OCIE1A, TIMSK1_TOIE1			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TIMSK2_OCIE2B,&lt;br /&gt;
	TIMSK2_OCIE2A, TIMSK2_TOIE2			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	ADC					: U16;&lt;br /&gt;
	ADCSRA_ADEN,  ADCSRA_ADSC,&lt;br /&gt;
	ADCSRA_ADATE, ADCSRA_ADIF,&lt;br /&gt;
	ADCSRA_ADIE,  ADMUX_ADLAR,&lt;br /&gt;
	ADCSRB_ACME				: BOOLEAN;&lt;br /&gt;
	ADCSRA_ADPS,  ADCSRB_ADTS			: U3;&lt;br /&gt;
	ADMUX_REFS				: U2;&lt;br /&gt;
	ADMUX_MUX					: U4;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 532 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	DIDR0_ADC5D, DIDR0_ADC4D, DIDR0_ADC3D,&lt;br /&gt;
	DIDR0_ADC2D, DIDR0_ADC1D, DIDR0_ADC0D		: BOOLEAN;&lt;br /&gt;
	DIDR1_AIN1D, DIDR1_AIN0D			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TCCR1A_COM1A, TCCR1A_COM1B, TCCR1A_WGM		: U2;&lt;br /&gt;
	TCCR1B_ICNC1, TCCR1B_ICES1			: BOOLEAN;&lt;br /&gt;
	TCCR1B_WGM				: U2;&lt;br /&gt;
	TCCR1B_CS					: U3;&lt;br /&gt;
	TCCR1C_FOC1A, TCCR1C_FOC1B			: BOOLEAN;&lt;br /&gt;
	TCNT1, ICR1,  OCR1A, OCR1B			: U16;&lt;br /&gt;
&lt;br /&gt;
	TCCR2A_COM2A, TCCR2A_COM2B, TCCR2A_WGM		: U2;&lt;br /&gt;
	TCCR2B_WGM				: BOOLEAN;&lt;br /&gt;
	TCCR2B_CS					: U3;&lt;br /&gt;
	TCCR2B_FOC2A, TCCR2B_FOC2B			: BOOLEAN;&lt;br /&gt;
	TCNT2, OCR2A, OCR2B				: U8;&lt;br /&gt;
&lt;br /&gt;
	ASSR_EXCLK,   ASSR_AS2,	ASSR_TCN2UB,&lt;br /&gt;
	ASSR_OCR2AUB, ASSR_OCR2BUB,&lt;br /&gt;
	ASSR_TCR2AUB, ASSR_TCR2BUB			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	TWBR					: U8;&lt;br /&gt;
	TWSR_TWS					: U5;&lt;br /&gt;
	TWSR_TWPS					: U2;&lt;br /&gt;
	TWAR_TWA					: U7;&lt;br /&gt;
	TWAR_TWGCE				: BOOLEAN;&lt;br /&gt;
	TWDR					: U8;&lt;br /&gt;
	TWCR_TWINT, TWCR_TWEA, TWCR_TWSTA,&lt;br /&gt;
	TWCR_TWSTO, TWCR_TWWC, TWCR_TWEN,&lt;br /&gt;
	TWCR_TWIE					: BOOLEAN;&lt;br /&gt;
	TWAMR_TWAM				: U7;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 531 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	UCSR0A_RXC0, UCSR0A_TXC0, UCSR0A_UDRE0,&lt;br /&gt;
	UCSR0A_FE0,  UCSR0A_DOR0, UCSR0A_UPE0,&lt;br /&gt;
	UCSR0A_U2X0, UCSR0A_MPCM0			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	UCSR0B_RXCIE0, UCSR0B_TXCIE0,&lt;br /&gt;
	UCSR0B_UDRIE0, UCSR0B_RXEN0,&lt;br /&gt;
	UCSR0B_TXEN0,  UCSR0B_UCSZ02,&lt;br /&gt;
	UCSR0B_RXB80,  UCSR0B_TXB80			: BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
	UCSR0C_UMSEL0, UCSR0C_UPM0,&lt;br /&gt;
	UCSR0C_UCSZ0				: U2;&lt;br /&gt;
	UCSR0C_USBS0, UCSR0C_UCPOL0			: BOOLEAN;&lt;br /&gt;
	UBRR					: U12;&lt;br /&gt;
	UDR0					: U8;&lt;br /&gt;
	end record;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  for RAM_MAP use&lt;br /&gt;
	record at mod 1;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 534 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#23# .. 16#2B#&lt;br /&gt;
	PIN_B		at 16#23# range 0..7;&lt;br /&gt;
	DDR_B		at 16#24# range 0..7;&lt;br /&gt;
	PORT_B		at 16#25# range 0..7;&lt;br /&gt;
	PIN_C		at 16#26# range 0..7;&lt;br /&gt;
	DDR_C		at 16#27# range 0..7;&lt;br /&gt;
	PORT_C		at 16#28# range 0..7;&lt;br /&gt;
	PIN_D		at 16#29# range 0..7;&lt;br /&gt;
	DDR_D		at 16#2A# range 0..7;&lt;br /&gt;
	PORT_D		at 16#2B# range 0..7;&lt;br /&gt;
-- 16#35#&lt;br /&gt;
	TIFR0_OCF0A	at 16#35# range 1..1;	TIFR0_OCF0B	at 16#35# range 2..2;&lt;br /&gt;
	TIFR0_TOV0	at 16#35# range 0..0;&lt;br /&gt;
-- 16#36#&lt;br /&gt;
	TIFR1_ICF1	at 16#36# range 5..5;	TIFR1_OCF1A	at 16#36# range 1..1;&lt;br /&gt;
	TIFR1_OCF1B	at 16#36# range 2..2;	TIFR1_TOV1	at 16#36# range 0..0;&lt;br /&gt;
-- 16#37#&lt;br /&gt;
	TIFR2_OCF2A	at 16#37# range 1..1;	TIFR2_OCF2B	at 16#37# range 2..2;&lt;br /&gt;
	TIFR2_TOV2	at 16#37# range 0..0;&lt;br /&gt;
-- 16#3B#&lt;br /&gt;
	PCIFR		at 16#3B# range 0..2;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 533 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#3C#&lt;br /&gt;
	EIFR_INTF		at 16#3C# range 0..1;&lt;br /&gt;
-- 16#3D#&lt;br /&gt;
	EIMSK_INT		at 16#3D# range 0..1;&lt;br /&gt;
-- 16#3E#&lt;br /&gt;
	GPIOR0		at 16#3E# range 0..7;&lt;br /&gt;
-- 16#3F#&lt;br /&gt;
	EECR_EEPM		at 16#3F# range 4..5;	EECR_EERIE	at 16#3F# range 3..3;&lt;br /&gt;
	EECR_EEMPE	at 16#3F# range 2..2;	EECR_EEPE		at 16#3F# range 1..1;&lt;br /&gt;
	EECR_EERE		at 16#3F# range 0..0;&lt;br /&gt;
-- 16#40#&lt;br /&gt;
	EEDR		at 16#40# range 0..7;&lt;br /&gt;
-- 16#41#&lt;br /&gt;
	EEAR		at 16#41# range 0..15;&lt;br /&gt;
-- 16#43#&lt;br /&gt;
	GTCCR_TSM		at 16#43# range 7..7;	GTCCR_PSRASY	at 16#43# range 1..1;&lt;br /&gt;
	GTCCR_PSRSYNC	at 16#43# range 0..0;&lt;br /&gt;
-- 16#44#&lt;br /&gt;
	TCCR0A_COM0A	at 16#44# range 6..7;	TCCR0A_COM0B	at 16#44# range 4..5;&lt;br /&gt;
	TCCR0A_WGM	at 16#44# range 0..1;&lt;br /&gt;
-- 16#45#&lt;br /&gt;
	TCCR0B_FOC0A	at 16#45# range 7..7;	TCCR0B_FOC0B	at 16#45# range 6..6;&lt;br /&gt;
	TCCR0B_WGM	at 16#45# range 3..3;	TCCR0B_CS		at 16#45# range 0..2;&lt;br /&gt;
-- 16#46#&lt;br /&gt;
	TCNT0		at 16#46# range 0..7;&lt;br /&gt;
-- 16#47#&lt;br /&gt;
	OCR0A		at 16#47# range 0..7;&lt;br /&gt;
-- 16#48#&lt;br /&gt;
	OCR0B		at 16#48# range 0..7;&lt;br /&gt;
-- 16#4A#&lt;br /&gt;
	GPIOR1		at 16#4A# range 0..7;&lt;br /&gt;
-- 16#4B#&lt;br /&gt;
	GPIOR2		at 16#4B# range 0..7;&lt;br /&gt;
-- 16#4C#&lt;br /&gt;
	SPCR_SPIE		at 16#4C# range 7..7;	SPCR_SPE		at 16#4C# range 6..6;&lt;br /&gt;
	SPCR_DORD		at 16#4C# range 5..5;	SPCR_MSTR		at 16#4C# range 4..4;&lt;br /&gt;
	SPCR_CPOL		at 16#4C# range 3..3;	SPCR_CPHA		at 16#4C# range 2..2;&lt;br /&gt;
	SPCR_SPR		at 16#4C# range 0..1;&lt;br /&gt;
-- 16#4D#&lt;br /&gt;
	SPSR_SPIF		at 16#4D# range 7..7;	SPSR_WCOL		at 16#4D# range 6..6;&lt;br /&gt;
	SPSR_SPI2X	at 16#4D# range 0..0;&lt;br /&gt;
-- 16#4E#&lt;br /&gt;
	SPDR		at 16#4E# range 0..7;&lt;br /&gt;
-- 16#50#&lt;br /&gt;
	ACSR_ACD		at 16#50# range 7..7;	ACSR_ACBG		at 16#50# range 6..6;&lt;br /&gt;
	ACSR_ACO		at 16#50# range 5..5;	ACSR_ACI		at 16#50# range 4..4;&lt;br /&gt;
	ACSR_ACIE		at 16#50# range 3..3;	ACSR_ACIC		at 16#50# range 2..2;&lt;br /&gt;
	ACSR_ACIS		at 16#50# range 0..1;&lt;br /&gt;
-- 16#53#&lt;br /&gt;
	SMCR_SM		at 16#53# range 1..3;&lt;br /&gt;
	SMCR_SE		at 16#53# range 0..0;&lt;br /&gt;
-- 16#54#&lt;br /&gt;
	MCUSR_WDRF	at 16#54# range 3..3;	MCUSR_BORF	at 16#54# range 2..2;&lt;br /&gt;
	MCUSR_EXTRF	at 16#54# range 1..1;	MCUSR_PORF	at 16#54# range 0..0;&lt;br /&gt;
-- 16#55#&lt;br /&gt;
	MCUCR_BODS	at 16#55# range 6..6;	MCUCR_BODSE	at 16#55# range 5..5;&lt;br /&gt;
	MCUCR_PUD		at 16#55# range 4..4;	MCUCR_IVSEL	at 16#55# range 1..1;&lt;br /&gt;
	MCUCR_IVCE	at 16#55# range 0..0;&lt;br /&gt;
-- 16#57#&lt;br /&gt;
	SPMCSR_SPMIE	at 16#57# range 7..7;	SPMCSR_RWWSB	at 16#57# range 6..6;&lt;br /&gt;
	SPMCSR_RWWSRE	at 16#57# range 4..4;	SPMCSR_BLBSET	at 16#57# range 3..3;&lt;br /&gt;
	SPMCSR_PGWRT	at 16#57# range 2..2;	SPMCSR_PGERS	at 16#57# range 1..1;&lt;br /&gt;
	SPMCSR_SELFPRGEN	at 16#57# range 0..0;&lt;br /&gt;
-- 16#5D#&lt;br /&gt;
	SP		at 16#5D# range 0..10;&lt;br /&gt;
-- 16#5F#&lt;br /&gt;
	SREG_I		at 16#5F# range 7..7;	SREG_T		at 16#5F# range 6..6;&lt;br /&gt;
	SREG_H		at 16#5F# range 5..5;	SREG_S		at 16#5F# range 4..4;&lt;br /&gt;
	SREG_V		at 16#5F# range 3..3;	SREG_N		at 16#5F# range 2..2;&lt;br /&gt;
	SREG_Z		at 16#5F# range 1..1;	SREG_C		at 16#5F# range 0..0;&lt;br /&gt;
-- 16#60#&lt;br /&gt;
	WDTCSR_WDIF	at 16#60# range 7..7;	WDTCSR_WDIE	at 16#60# range 6..6;&lt;br /&gt;
	WDTCSR_WDP3	at 16#60# range 5..5;	WDTCSR_WDCE	at 16#60# range 4..4;&lt;br /&gt;
	WDTCSR_WDE	at 16#60# range 3..3;	WDTCSR_WDP	at 16#60# range 0..2;&lt;br /&gt;
-- 16#61#&lt;br /&gt;
	CLKPR_CLKPCE	at 16#61# range 7..7;&lt;br /&gt;
	CLKPR_CLKPS	at 16#61# range 0..3;&lt;br /&gt;
-- 16#64#&lt;br /&gt;
	PRR_PRTWI		at 16#64# range 7..7;	PRR_PRTIM2	at 16#64# range 6..6;&lt;br /&gt;
	PRR_PRTIM0	at 16#64# range 5..5;	PRR_PRTIM1	at 16#64# range 3..3;&lt;br /&gt;
	PRR_PRSPI		at 16#64# range 2..2;	PRR_PRUSART0	at 16#64# range 1..1;&lt;br /&gt;
	PRR_PRADC		at 16#64# range 0..0;&lt;br /&gt;
-- 16#66#&lt;br /&gt;
	OSCCAL		at 16#66# range 0..7;&lt;br /&gt;
-- 16#68#&lt;br /&gt;
	PCICR_PCIE	at 16#68# range 0..2;&lt;br /&gt;
-- 16#69#&lt;br /&gt;
	EICRA_ISC1	at 16#69# range 2..3;	EICRA_ISC0	at 16#69# range 0..1;&lt;br /&gt;
-- 16#6B#&lt;br /&gt;
	PCMSK0_PCINT	at 16#6B# range 0..7;&lt;br /&gt;
-- 16#6C#&lt;br /&gt;
	PCMSK1_PCINT	at 16#6C# range 0..7;&lt;br /&gt;
-- 16#6D#&lt;br /&gt;
	PCMSK2_PCINT	at 16#6D# range 0..7;&lt;br /&gt;
-- 16#6E#&lt;br /&gt;
	TIMSK0_OCIE0B	at 16#6E# range 2..2;	TIMSK0_OCIE0A	at 16#6E# range 1..1;&lt;br /&gt;
	TIMSK0_TOIE0	at 16#6E# range 0..0;&lt;br /&gt;
-- 16#6F#&lt;br /&gt;
	TIMSK1_ICIE1	at 16#6F# range 5..5;&lt;br /&gt;
	TIMSK1_OCIE1B	at 16#6F# range 2..2;	TIMSK1_OCIE1A	at 16#6F# range 1..1;&lt;br /&gt;
	TIMSK1_TOIE1	at 16#6F# range 0..0;&lt;br /&gt;
-- 16#70#&lt;br /&gt;
	TIMSK2_OCIE2B	at 16#70# range 2..2;	TIMSK2_OCIE2A	at 16#70# range 1..1;&lt;br /&gt;
	TIMSK2_TOIE2	at 16#70# range 0..0;&lt;br /&gt;
-- 16#78#&lt;br /&gt;
	ADC		at 16#78# range 0..15;&lt;br /&gt;
-- 16#7A#&lt;br /&gt;
	ADCSRA_ADEN	at 16#7A# range 7..7;	ADCSRA_ADSC	at 16#7A# range 6..6;&lt;br /&gt;
	ADCSRA_ADATE	at 16#7A# range 5..5;	ADCSRA_ADIF	at 16#7A# range 4..4;&lt;br /&gt;
	ADCSRA_ADIE	at 16#7A# range 3..3;	ADCSRA_ADPS	at 16#7A# range 0..2;&lt;br /&gt;
-- 16#7B#&lt;br /&gt;
	ADCSRB_ACME	at 16#7B# range 6..6;	ADCSRB_ADTS	at 16#7B# range 0..2;&lt;br /&gt;
-- 16#7C#&lt;br /&gt;
	ADMUX_REFS	at 16#7C# range 6..7;	ADMUX_ADLAR	at 16#7C# range 5..5;&lt;br /&gt;
	ADMUX_MUX		at 16#7C# range 0..3;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 532 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#7E#&lt;br /&gt;
	DIDR0_ADC5D	at 16#7E# range 5..5;	DIDR0_ADC4D	at 16#7E# range 4..4;&lt;br /&gt;
	DIDR0_ADC3D	at 16#7E# range 3..3;	DIDR0_ADC2D	at 16#7E# range 2..2;&lt;br /&gt;
	DIDR0_ADC1D	at 16#7E# range 1..1;	DIDR0_ADC0D	at 16#7E# range 0..0;&lt;br /&gt;
-- 16#7F#&lt;br /&gt;
	DIDR1_AIN1D	at 16#7F# range 1..1;	DIDR1_AIN0D	at 16#7F# range 0..0;&lt;br /&gt;
-- 16#80#&lt;br /&gt;
	TCCR1A_COM1A	at 16#80# range 6..7;	TCCR1A_COM1B	at 16#80# range 4..5;&lt;br /&gt;
	TCCR1A_WGM	at 16#80# range 0..1;&lt;br /&gt;
-- 16#81#&lt;br /&gt;
	TCCR1B_ICNC1	at 16#81# range 7..7;	TCCR1B_ICES1	at 16#81# range 6..6;&lt;br /&gt;
	TCCR1B_WGM	at 16#81# range 3..4;	TCCR1B_CS		at 16#81# range 0..2;&lt;br /&gt;
-- 16#82#&lt;br /&gt;
	TCCR1C_FOC1A	at 16#82# range 7..7;	TCCR1C_FOC1B	at 16#82# range 6..6;&lt;br /&gt;
-- 16#84#&lt;br /&gt;
	TCNT1		at 16#84# range 0..15;&lt;br /&gt;
-- 16#86#&lt;br /&gt;
	ICR1		at 16#86# range 0..15;&lt;br /&gt;
-- 16#88#&lt;br /&gt;
	OCR1A		at 16#88# range 0..15;&lt;br /&gt;
-- 16#8A#&lt;br /&gt;
	OCR1B		at 16#8A# range 0..15;&lt;br /&gt;
-- 16#B0#&lt;br /&gt;
	TCCR2A_COM2A	at 16#B0# range 6..7;	TCCR2A_COM2B	at 16#B0# range 4..5;&lt;br /&gt;
	TCCR2A_WGM	at 16#B0# range 0..1;&lt;br /&gt;
-- 16#B1#&lt;br /&gt;
	TCCR2B_FOC2A	at 16#B1# range 7..7;	TCCR2B_FOC2B	at 16#B1# range 6..6;&lt;br /&gt;
	TCCR2B_WGM	at 16#B1# range 3..3;	TCCR2B_CS		at 16#B1# range 0..2;&lt;br /&gt;
-- 16#B2#&lt;br /&gt;
	TCNT2		at 16#B2# range 0..7;&lt;br /&gt;
-- 16#B3#&lt;br /&gt;
	OCR2A		at 16#B3# range 0..7;&lt;br /&gt;
-- 16#B4#&lt;br /&gt;
	OCR2B		at 16#B4# range 0..7;&lt;br /&gt;
-- 16#B6#&lt;br /&gt;
	ASSR_EXCLK	at 16#B6# range 6..6;	ASSR_AS2		at 16#B6# range 5..5;&lt;br /&gt;
	ASSR_TCN2UB	at 16#B6# range 4..4;	ASSR_OCR2AUB	at 16#B6# range 3..3;&lt;br /&gt;
	ASSR_OCR2BUB	at 16#B6# range 2..2;	ASSR_TCR2AUB	at 16#B6# range 1..1;&lt;br /&gt;
	ASSR_TCR2BUB	at 16#B6# range 0..0;&lt;br /&gt;
-- 16#B8#&lt;br /&gt;
	TWBR		at 16#B8# range 0..7;&lt;br /&gt;
-- 16#B9#&lt;br /&gt;
	TWSR_TWS		at 16#B9# range 3..7;&lt;br /&gt;
	TWSR_TWPS		at 16#B9# range 0..1;&lt;br /&gt;
-- 16#BA#&lt;br /&gt;
	TWAR_TWA		at 16#BA# range 1..7;&lt;br /&gt;
	TWAR_TWGCE	at 16#BA# range 0..0;&lt;br /&gt;
-- 16#BB#&lt;br /&gt;
	TWDR		at 16#BB# range 0..7;&lt;br /&gt;
-- 16#BC#&lt;br /&gt;
	TWCR_TWINT	at 16#BC# range 7..7;	TWCR_TWEA		at 16#BC# range 6..6;&lt;br /&gt;
	TWCR_TWSTA	at 16#BC# range 5..5;	TWCR_TWSTO	at 16#BC# range 4..4;&lt;br /&gt;
	TWCR_TWWC		at 16#BC# range 3..3;	TWCR_TWEN		at 16#BC# range 2..2;&lt;br /&gt;
	TWCR_TWIE		at 16#BC# range 0..0;&lt;br /&gt;
-- 16#BD#&lt;br /&gt;
	TWAMR_TWAM	at 16#BD# range 1..7;&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
	--	PAGE 531 NOTICE 8271B-AVR&lt;br /&gt;
	-- -----------------------------------------------------------------------------&lt;br /&gt;
-- 16#C0#&lt;br /&gt;
	UCSR0A_RXC0	at 16#C0# range 7..7;	UCSR0A_TXC0	at 16#C0# range 6..6;&lt;br /&gt;
	UCSR0A_UDRE0	at 16#C0# range 5..5;	UCSR0A_FE0	at 16#C0# range 4..4;&lt;br /&gt;
	UCSR0A_DOR0	at 16#C0# range 3..3;	UCSR0A_UPE0	at 16#C0# range 2..2;&lt;br /&gt;
	UCSR0A_U2X0	at 16#C0# range 1..1;	UCSR0A_MPCM0	at 16#C0# range 0..0;&lt;br /&gt;
-- 16#C1#&lt;br /&gt;
	UCSR0B_RXCIE0	at 16#C1# range 7..7;	UCSR0B_TXCIE0	at 16#C1# range 6..6;&lt;br /&gt;
	UCSR0B_UDRIE0	at 16#C1# range 5..5;	UCSR0B_RXEN0	at 16#C1# range 4..4;&lt;br /&gt;
	UCSR0B_TXEN0	at 16#C1# range 3..3;	UCSR0B_UCSZ02	at 16#C1# range 2..2;&lt;br /&gt;
	UCSR0B_RXB80	at 16#C1# range 1..1;	UCSR0B_TXB80	at 16#C1# range 0..0;&lt;br /&gt;
-- 16#C2#&lt;br /&gt;
	UCSR0C_UMSEL0	at 16#C2# range 6..7;	UCSR0C_UPM0	at 16#C2# range 4..5;&lt;br /&gt;
	UCSR0C_USBS0	at 16#C2# range 3..3;	UCSR0C_UCSZ0	at 16#C2# range 1..2;&lt;br /&gt;
	UCSR0C_UCPOL0	at 16#C2# range 0..0;&lt;br /&gt;
-- 16#C4#&lt;br /&gt;
	UBRR		at 16#C4# range 0..11;&lt;br /&gt;
-- 16#C6#&lt;br /&gt;
	UDR0		at 16#C6# range 0..7;&lt;br /&gt;
-- OUF !!&lt;br /&gt;
	end record;&lt;br /&gt;
&lt;br /&gt;
	pragma PACK( RAM_MAP );&lt;br /&gt;
&lt;br /&gt;
  REG	: RAM_MAP;	for REG&#039;ADDRESS use 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  procedure VECT_1;		pragma EXPORT ( C, VECT_1, &amp;quot;__vector_1&amp;quot; );&lt;br /&gt;
  procedure VECT_2;		pragma EXPORT ( C, VECT_2, &amp;quot;__vector_2&amp;quot; );&lt;br /&gt;
  procedure VECT_3;		pragma EXPORT ( C, VECT_3, &amp;quot;__vector_3&amp;quot; );&lt;br /&gt;
  procedure VECT_4;		pragma EXPORT ( C, VECT_4, &amp;quot;__vector_4&amp;quot; );&lt;br /&gt;
  procedure VECT_5;		pragma EXPORT ( C, VECT_5, &amp;quot;__vector_5&amp;quot; );&lt;br /&gt;
  procedure VECT_6;		pragma EXPORT ( C, VECT_6, &amp;quot;__vector_6&amp;quot; );&lt;br /&gt;
  procedure VECT_7;		pragma EXPORT ( C, VECT_7, &amp;quot;__vector_7&amp;quot; );&lt;br /&gt;
  procedure VECT_8;		pragma EXPORT ( C, VECT_8, &amp;quot;__vector_8&amp;quot; );&lt;br /&gt;
  procedure VECT_9;		pragma EXPORT ( C, VECT_9, &amp;quot;__vector_9&amp;quot; );&lt;br /&gt;
  procedure VECT_10;	pragma EXPORT ( C, VECT_10, &amp;quot;__vector_10&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
  procedure VECT_12;	pragma EXPORT ( C, VECT_12, &amp;quot;__vector_12&amp;quot; );&lt;br /&gt;
  procedure VECT_13;	pragma EXPORT ( C, VECT_13, &amp;quot;__vector_13&amp;quot; );&lt;br /&gt;
  procedure VECT_14;	pragma EXPORT ( C, VECT_14, &amp;quot;__vector_14&amp;quot; );&lt;br /&gt;
  procedure VECT_15;	pragma EXPORT ( C, VECT_15, &amp;quot;__vector_15&amp;quot; );&lt;br /&gt;
  procedure VECT_16;	pragma EXPORT ( C, VECT_16, &amp;quot;__vector_16&amp;quot; );&lt;br /&gt;
  procedure VECT_17;	pragma EXPORT ( C, VECT_17, &amp;quot;__vector_17&amp;quot; );&lt;br /&gt;
  procedure VECT_20;	pragma EXPORT ( C, VECT_20, &amp;quot;__vector_20&amp;quot; );&lt;br /&gt;
  procedure VECT_21;	pragma EXPORT ( C, VECT_21, &amp;quot;__vector_21&amp;quot; );&lt;br /&gt;
  procedure VECT_22;	pragma EXPORT ( C, VECT_22, &amp;quot;__vector_22&amp;quot; );&lt;br /&gt;
  procedure VECT_23;	pragma EXPORT ( C, VECT_23, &amp;quot;__vector_23&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
  procedure VECT_25;	pragma EXPORT ( C, VECT_25, &amp;quot;__vector_25&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
	-----------&lt;br /&gt;
end	ATMEGA_328P;&lt;br /&gt;
	-----------&lt;br /&gt;
&lt;br /&gt;
--	1	2	3	4	5	6	7	8	9	0	1	2&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_on_AVR_chips&amp;diff=136</id>
		<title>Ada 83 on AVR chips</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_on_AVR_chips&amp;diff=136"/>
		<updated>2025-03-29T16:04:31Z</updated>

		<summary type="html">&lt;p&gt;Vmo: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Ada 83 on AVR microcontrollers&amp;#039;&amp;#039;&amp;#039;  The famous Arduino Uno uses an Atmel ATMEGA 328P chip. The base module for 328P register map can be conveniently expressed by a &amp;#039;&amp;#039;&amp;#039;record&amp;#039;&amp;#039;&amp;#039; type and its representation clause.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ada 83 on AVR microcontrollers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The famous Arduino Uno uses an Atmel ATMEGA 328P chip. The base module for 328P register map can be conveniently expressed by a &#039;&#039;&#039;record&#039;&#039;&#039; type and its representation clause.&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Ada_83_examples&amp;diff=135</id>
		<title>Ada 83 examples</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Ada_83_examples&amp;diff=135"/>
		<updated>2025-03-29T15:57:09Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examples ==&lt;br /&gt;
&lt;br /&gt;
The simplest program :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;ada&amp;quot;&amp;gt;&lt;br /&gt;
with TEXT_IO;&lt;br /&gt;
          -----------&lt;br /&gt;
procedure HELLO_WORLD&lt;br /&gt;
is        -----------&lt;br /&gt;
begin&lt;br /&gt;
  TEXT_IO.PUT_LINE( &amp;quot;Hello_world !&amp;quot; );&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A simple ASCII JSON reader/writer program :&lt;br /&gt;
[[JSON package]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Micro-controller programming&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a very convenient tool for micro-controller programming. The famous Arduino boards equipped with AVR chips can be programmed in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;. Some examples [[Ada_83_on AVR_chips|here]].&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
	<entry>
		<id>https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=134</id>
		<title>Welcome to Ada 83 Memory</title>
		<link rel="alternate" type="text/html" href="https://ada83.org/wiki/index.php?title=Welcome_to_Ada_83_Memory&amp;diff=134"/>
		<updated>2025-03-29T15:21:26Z</updated>

		<summary type="html">&lt;p&gt;Vmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Ada 83 Memory.png|center|alt=Ada 83 Memory|500px]]&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:Ada Lovelace portrait.png|thumb|---  Ada Lovelace by A.E.Chalon (1840)  ---]]&lt;br /&gt;
&lt;br /&gt;
This site aims to preserve heritage elements of the original Ada® language (now called &#039;&#039;&#039;Ada 83&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a computer programming language set in its standard in 1983, and for which a fairly formidable design effort was deployed over nearly a decade, following which the language in its original form was used in large-scale projects over the following decade. Then revisions of the language were made which certainly increased its possibilities, but at the heavy cost of rather considerable complications on an originally quite sophisticated base which proved sufficient for many applications. &lt;br /&gt;
&lt;br /&gt;
At the time of its availability, &#039;&#039;&#039;Ada 83&#039;&#039;&#039; was considered a “big” language, the compilation of which put contemporary machines to the test. On current systems in these 2020s, the compilation of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; has become easy. &lt;br /&gt;
&lt;br /&gt;
The extraordinary qualities of this language are, despite its forty-one-year-old age in 2024, still of particular interest from the point of view of software engineering. Since the operating principles of digital machines have not changed so much, the &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language is still perfectly usable&lt;br /&gt;
and capable of providing services. Pascal, which predates it, is still used (albeit with object extensions), and the C language, whose contribution to&lt;br /&gt;
software engineering cannot be considered positively transcendent, is also. &lt;br /&gt;
&lt;br /&gt;
At the very least, it is essential to preserve &#039;&#039;&#039;Ada 83&#039;&#039;&#039;, its resources, its conceptual atmosphere, these works of human genius in the field of digital&lt;br /&gt;
information processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site is thus a place dedicated to the ANSI/MIL-STD-1815A-1983 version of the Ada computer programming language ; version known today as &#039;&#039;&#039;Ada 83&#039;&#039;&#039; to distinguish it from later versions (Ada 95, Ada 2005, Ada 2012).&lt;br /&gt;
&lt;br /&gt;
The specification of &#039;&#039;&#039;Ada 83&#039;&#039;&#039; (the Ada Language Reference Manual) is around 175 pages long, which makes it accessible to an individual.&lt;br /&gt;
&lt;br /&gt;
The Ada language still exists but evolved so much that we wanted to preserve elements of the original version of the language. &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is a peculiar programming universe that really deserves preservation, both for computer history purpose and as an example of a specially well designed tool for software reliability, readability, maintenance. We believe that &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is still useful forty years later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This site aims at gathering [[Ada_83_history|history]] facts and [[Ada_83_tools|tools]] or [[Ada_83_examples|examples]] written in &#039;&#039;&#039;Ada 83&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The interest is also about &#039;&#039;&#039;Ada 83&#039;&#039;&#039; language machines like the [[Rational_R1000_Ada83_machine|Rational R1000]] and the [[iAPX_432_Ada83_machine|iAPX 432]].&lt;br /&gt;
&lt;br /&gt;
Feel free to participate to the elaboration of Ada 83 Memory if you are a veteran of the 1980ies . Nonetheless be aware that only &#039;&#039;&#039;Ada 83&#039;&#039;&#039; is of interest here, no Ada 95 or later version will be considered (or only marginally if it serves an analytical purpose).&lt;br /&gt;
&lt;br /&gt;
[[Special:RequestAccount|You can request your account here]]&lt;/div&gt;</summary>
		<author><name>Vmo</name></author>
	</entry>
</feed>