Введение
ALGOL X — кодовое название, данное языку программирования, являющемуся преемником ALGOL 60. Это был язык программирования, разрабатывавшийся Международной федерацией обработки информации (IFIP) рабочей группой IFIP 2.1 по алгоритмическим языкам и вычислениям, которая поддерживает языки ALGOL 60 и ALGOL 68. Он предназначался для поиска "краткосрочного решения существующих проблем". ALGOL N и ALGOL W — другие версии ALGOL, предложенные для этой цели. По словам де Моргана, "поклонники Algol 60 не сидели сложа руки — они приступили к устранению коварных оставшихся проблем. Они назвали свой Algol 60 'Модифицированным'". Известно о существовании одного компилятора ALGOL X, написанного Дугласом Т. Россом из Массачусетского технологического института (MIT) с использованием системы автоматизированного инженерного проектирования (AED 0), также известной как ALGOL Extended for Design. Пример определения класса (из AB26.2.2): выражение класса — это константа (действительное значение) или переменная (строковое имя для печати), или пара классов — это (сумма или разность или произведение или частное)((выражение) левый операнд, правый операнд, производная). Пример использования класса: (выражение) X; (константа) Y; (пара) Z; (произведение) Q;
X := Y := константа(10.5);
Z := Q := произведение(переменная("ALPHA"), константа(2.), константа(2.));
class expression is constant (real value) ora variable (string printname)
ora class pair is (sum ora difference ora product
ora quotient)((expression) left operand, right operand, derivative);
Example class usage:
(expression) X; (constant) Y; (pair) Z; (product) Q;
Изначально предложением по обновлению Algol был Algol X, а Algol Y — название, зарезервированное для соответствующего метаязыка. Ван Вийнгарден представил доклад на комитете IFIP по языкам программирования в 1963 году под названием «Обобщенный Algol», в котором содержались основные концепции, которые в конечном итоге были включены в Algol 68.
Z := Q := product(variable("ALPHA"), constant(2. ), constant(2.)) "Initially the proposal for an update to Algol was Algol X, with Algol Y being the name reserved for
the corresponding metalanguage. Van Wijngaarden produced a paper for the 1963 IFIP programming language
committee, entitled “Generalized Algol,” which contained the basic concepts which were eventually
incorporated into Algol 68."
Бюллетень ALGOL о ALGOL X
AB21.3.1 – G. Seegmuller: Некоторые предложения по ALGOL X
AB21.3.2 – Joachim von Peschke: Предложения по ALGOL X
AB22.3.2 – J. N. Merner: Собственная концепция и ALGOL X
AB22.3.10 – M. Woodger: ALGOL X, Заметка о предлагаемом преемнике ALGOL 60
AB25.0.1 – ALGOL Bulletin – ALGOL X
AB26.2.2 – Douglas T. Ross: Основные характеристики работоспособного ALGOL X
AB21.3.2 – Joachim von Peschke: Proposals for ALGOL X
AB22.3.2 – J. N. Merner: Own concept and ALGOL X
AB22.3.10 – M. Woodger: ALGOL X, Note on the proposed successor to ALGOL 60
AB25.0.1 – ALGOL Bulletin – ALGOL X
AB26.2.2 – Douglas T. Ross: Features essential for a workable ALGOL X