Разрешает ли BlooP косвенную адресацию?
Дуглас Хофштадтер описывает язык программирования BlooP в своей книге "Gödel, Escher, Bach: Eternal Golden Braid".
Мне неясно, требуют ли переменные ячейки постоянные индексы или разрешено косвенное обращение.
Четыре примера, показанные в книге, показывают константы. Например:
CELL(0) ⇐ 2;
Неясно, будет ли это разрешено:
CELL(CELL(0)) ⇐ 2;
Вопрос важен для понимания главы. Если косвенное обращение недопустимо, то это потому, что это может нанести ущерб цели языка, который намеренно ограничен, так что он может выражать только примитивно-рекурсивные функции.
Другой способ задать вопрос: "Превращает ли поддержка косвенной адресации BlooP в FlooP, что может выражать общие рекурсивные функции?"
Обратный вопрос: "Не помешает ли отсутствие косвенной адресации из BlooP написать машины сортировки или тьюринга, обе из которых нуждаются в косвенной адресации?"