ALGOL W
From Wikipedia, the free encyclopedia
Algol-W is a programming language. It was Niklaus Wirth's proposal for a successor to ALGOL 60 in the ALGOL 68 committee. It represented a relatively conservative modification of ALGOL 60; Wirth added string, bitstring, complex number and 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.
[edit] Code Sample
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
[edit] External links
- Niklaus Wirth & C. A. R Hoare (1966) A contribution to the development of ALGOL. Communications of the ACM, Vol.9, pp. 413 - 432
- 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.
- 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.

