CPL
CPL (Combined Programming Language – kombinovaný programovací jazyk) je multiparadigmatický programovací jazyk vyvinutý Cambridgeskou a Londýnskou univerzitou v roce 1960. Byl ovlivněn jazykem ALGOL. Vzhledem ke složitosti jazyka se první překladač objevil až v roce 1970. Tento jazyk se nikdy nestal populárním, ale vytvořil základ pro jazyk BCPL.

Popis jazyka 
CPL podporuje strukturované a funkcionální programování. Program se skládá z definic a příkazů a je uspořádán do bloků, které mohou být vnořené. Blok začíná i končí znakem §.

Datové typy 
 integer (celé číslo, velikost je nespecifikována)
 real (reálné číslo, velikost je nespecifikována)
 complex (komplexní číslo, dvojice reálných čísel)
 index (celé číslo, které se vejde do B-registrů (indexové registry))
 logical (binární vzor, velikost je nespecifikována)
 Boolean (pravdivostní hodnota)
 label (návěstí pro skok)
 string (sekvence symbolů CPL abecedy)
 array (pole, deklaruje se takto: TypPole PocetRozmeru array NazevPole, pro 1 array je zkratka vector a pro 2 array je zkratka matrix)
 list (seznam, podobný jako v Lispu)

Příkazy 
Přiřazení: proměnná:=hodnota.

Řídící struktury 
Podmínka: if logická hodnota then do příkaz (provede se, pokud podmínka platí) nebo unless logická hodnota then do příkaz (provede se, pokud podmínka neplatí) nebo test logická hodnota then do příkaz1 or do příkaz2 (pokud podmínka platí, provede se příkaz1, jinak se provede příkaz2.

Cyklus while-do: while logická hodnota do příkaz (opakuje se, dokud podmínka platí) nebo until logická hodnota do příkaz (opakuje se, dokud podmínka neplatí).

Cyklus do-while: příkaz repeat while logická hodnota (opakuje se, dokud podmínka platí) nebo příkaz repeat while logická hodnota (opakuje se, dokud podmínka neplatí).

Cyklus for: for proměnná=seznam do příkaz (proměnná nabývá postupně všech hodnot v seznamu).

Seznamy 
Přiřazení: seznam:=hodnota, například seznam:=1,2,3,4 nebo seznam1:=seznam2.

Přiřazení seznamu do jiných proměnných: proměnná1,proměnná2,... :=seznam například: a,b,c,d:=seznam.

Paralelní přiřazení: proměnná1, proměnná2,... :=hodnota1, hodnota2,....

Výraz step: step s, n, f (vrátí seznam obsahující každé n-té číslo od s do f), používá se často v cyklu for.

Funkce 
Výpočet faktoriálu:function Faktorial[x] = result of
    § real f = 1
      until x = 0 do
          f, x := xf, x — 1
      result := f §Funkce nesmí mít žádné vedlejší efekty.

Rekurzivní funkce 
Musí být uveden modifikátor rec.

Rekurzivní výpočet faktoriálu:rec function FaktorialRekurzivni[x] = (x = 0) → 1, x*FaktorialRekurzivni[x — 1]

Příklad 
Program Hello World:Write(‘Hello, World!’)

Reference

Externí odkazy 
 Main features of CPL (anglicky)

Programovací jazyky