Языки программирования. Практический сравнительный анализ




Языки программирования. Практический сравнительный анализ - стр. 51


                   E -> Е.

В частности, это означает, что все они формально имеют один аргумент. Фактически может быть столько аргументов, сколько нужно - ведь аргументами можно всегда считать последовательные термы выражения. Отдельные аргументы можно всегда заключить в круглые скобки.

Однако чтобы не загромождать примеры, договоримся, что отделение аргументов пробелами эквивалентно заключению в скобки. Другими словами, будем в значительной степени абстрагироваться от "проблемы круглых скобок", концентрируя внимание на принципиальных моментах (хорошо понимая, что в практическом программировании от этой проблемы никуда не деться - в Лиспе, например, она одна из самых неприятных).

2.3.2.2. Как только мы сказали, что имеем дело с функциями

              Е -> Е

сразу возникает вопрос, как же быть с формами. У них-то аргументы - функции, а не выражения. Ответ состоит в том, что и аргументы, и результаты форм всегда будут представлены некоторыми выражениями (например, символами - названиями функций).

2.3.2.3. Примем стиль изложения, при котором смысл вводимых прог­раммистских абстракций будем объяснять с помощью определений в модели М. Иногда это может показаться трудным для восприятия. Однако зато мы, во-первых, постоянно упражняемся в прог­рамми­ровании в модели М; во-вторых, немедленно демонстрируем конк­ретиза­цию  вводимой абстракции - а именно ее реализацию в известной модели.

[Такой стиль можно назвать проекционным - вместе с новым понятием излагается его проекция (перевод) на уже известный инструментальный язык. В нашем случае основу этого языка предоставит модель М.]

2.3.2.4. Первая из форм, которую следовало бы рассмотреть - это, конечно, аппликация (которую обозначим двоеточием ":"). Она применяет указанную в ее аргументе функцию (возможно, форму) к остальным компонентам аргумента. Можно было бы определить аппликацию в общем виде, однако нам удобнее считать, что определение рефал-функции ":" формируется постепенно.


Содержание  Назад  Вперед