- ALGOL W
Algol-W is a
programming language. It was Niklaus Wirth's proposal for a successor to ALGOL 60in the ALGOL 68committee. It represented a relatively conservative modification of ALGOL 60; Wirth added string, bitstring, complex numberand reference to record datatypes and call-by-result passing of parameters, but changed little else.
Like the rest of Wirth's languages (Pascal,
Modula-2, Oberon, etc.), Algol-W is small and statically typed. The language that eventually became ALGOL 68 is much larger and more complex than Algol-W, and it differs more from Algol 60 than Algol-W does.
record PERSON ( string NAME; integer AGE; logical MALE; reference(PERSON) FATHER, MOTHER, YOUNGESTOFFSPRING, ELDERSIBLING ); reference(PERSON) procedure YOUNGESTUNCLE (reference(PERSON) R); begin reference(PERSON) P, M; P := YOUNGESTOFFSPRING(FATHER(FATHER(R))); while (P ¬= null) and (¬ MALE(P)) or (P = FATHER(R)) do P := ELDERSIBLING(P); M := YOUNGESTOFFSPRING(MOTHER(MOTHER(R))); while (M ¬= null) and (¬ MALE(M)) do M := ELDERSIBLING(M); if P = null then M else if M = null then P else if AGE(P) < AGE(M) then P else M end
* [http://portal.acm.org/citation.cfm?id=365696.365702 Niklaus Wirth & C. A. R Hoare (1966)] A contribution to the development of ALGOL. Communications of the ACM, Vol.9, pp. 413 - 432
* [http://www-db.stanford.edu/TR/CS-TR-68-89.html Stanford Computer Science Department Technical Report CS-TR-68-89] Various documents for Stanford University's 1972 implementation of Algol-W. The report includes the "Algol W Language Description".
* [http://www.everything2.com/index.pl?node=Algol%20W Algol W @ Everything2] An informal but detailed description of the language by a former user, with sidebars extolling Algol W over Pascal as an
Educational programming language.
Wikimedia Foundation. 2010.