ALGOL 68

ALGOL 68（源自的縮寫），一種指令式程式語言，為ALGOL家族的成員，是官方上的ALGOL 60後繼者。它設計的目標，是提供更廣泛的應用，以及更嚴格的語法定義。

概論
ALGOL 68由負責設計。1968年12月20日，Working Group 2.1 通過了這個語法規範，並提交IFIP大會通過。它的主要架構者為。

代码样例
下面的样例代码实现了埃拉托斯特尼筛法来找到小于等于100的所有素数。ALGOL 68中NIL是同其他语言中“空指针”的类似者，表示法x OF y访问STRUCT y的成员x。
BEGIN # Algol-68素数筛法，函数式风格 #

    MODE LIST = REF NODE;
    MODE NODE = STRUCT (INT h, LIST t);
    PROC cons = (INT n, LIST l) LIST: HEAP NODE := (n, l);
    PROC one to = (INT n) LIST:
        (PROC f = (INT m) LIST: (m > n | NIL | cons(m, f(m+1))); f(1));
    PROC error = (STRING s) VOID:
        (print((newline, " error: ", s, newline)); GOTO stop);
    PROC hd = (LIST l) INT: (l IS NIL | error("hd NIL"); SKIP | h OF l);
    PROC tl = (LIST l) LIST: (l IS NIL | error("tl NIL"); SKIP | t OF l);
    PROC show = (LIST l) VOID:
        (l ISNT NIL | print((" ", whole(hd(l), 0))); show(tl(l)) | print(newline));
  
    PROC filter = (PROC (INT) BOOL p, LIST l) LIST:
        IF l IS NIL THEN NIL
        ELIF p(hd(l)) THEN cons(hd(l), filter(p, tl(l)))
        ELSE filter(p, tl(l))
        FI;
  
    PROC sieve = (LIST l) LIST:
        IF l IS NIL THEN NIL
        ELSE
            PROC not multiple = (INT n) BOOL: n MOD hd(l) ≠ 0;
            cons(hd(l), sieve(filter(not multiple, tl(l))))
        FI;

    PROC primes = (INT n) LIST: sieve(tl(one to(n)));
  
    show(primes(100))
END
将上述代码保存入文本文件primes.a68中，并将其中≠替代为/=，然后使用ALGOL 68 Genie执行它：
$ a68g -quiet primes.a68
 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

註釋

外部链接
 Revised Report on the Algorithmic Language ALGOL 68 The official reference for users and implementors of the language (large pdf file, scanned from Algol Bulletin)
 Revised Report on the Algorithmic Language ALGOL 68 Hyperlinked HTML version of the Revised Report
 A Tutorial on Algol 68, by Andrew S. Tanenbaum, in Computing Surveys, Vol. 8, No. 2, June 1976, with Corrigenda (Vol. 9, No. 3, September 1977)
 Algol 68 Genie – a GNU GPL Algol 68 compiler-interpreter
 Open source Algol 68 implementations, on SourceForge
 Algol68 Standard Hardware representation (.pdf)
 Из истории создания компилятора с Алгол 68
 Algol 68 – 25 Years in the USSR
 Система программ динамической поддержки для транслятора с Алгол 68
 C history with Algol68 heritage
 McJones, Paul, "Algol 68 implementations and dialects", Software Preservation Group, Computer History Museum, 2011-07-05
 Web enabled ALGOL 68 compiler for small experiments

学术的编程语言
ALGOL程式語言家族
1968年建立的程式語言