]]> ]]>

CPL

Версия реализации CPL языка программирования CPL

Единственная версия теоретического описания CPL, 1963 год.

Примеры:

Hello, World! - CPL (472):

В общем случае команда Write принимает на вход список значений, но можно выводить и строковую константу, как здесь.

Write(Hello, World!’)

Факториал - CPL (473):

(Пример взят из описания языка) Здесь приведено рекурсивное определение факториала. Для реализации разных сценариев обработки для разных значений аргумента вместо условного перехода if используется условное выражение.

rec function Fact1[x] = (x = 0) → 1, xFact1[x — 1]

Факториал - CPL (474):

(Пример взят из описания языка) Здесь приведено итеративное определение факториала.

Выражение result of позволяет использовать блок или составную команду как выражение. Для этого тело блока должно содержать присвоение значения переменной result. В блоке можно определять локальные переменные и нельзя создавать побочные эффекты (например, изменять значения внешних переменных). Чаще всего это выражение используется при определении функций.

В теле цикла используется одновременное присвоение новых значений переменным. Поскольку обе переменные используют маленькие имена, язык позволяет пропустить знак умножения между ними — xf трактуется как x * f.

function Fact2[x] = result of
    § real f = 1
      until x = 0 do
          f, x := xf, x — 1
      result : = f §

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам