Отступ как контекст исполнения | Мой цифровой сад

Отступ как контекст исполнения

отступ в .http создаёт новый контекст исполнения; исполнитель строит AST, а не читает файл сверху вниз — вложенность задаёт scope и цикл по коллекции

Отступ как контекст исполнения

Если принять, что отступ = новый контекст исполнения, исполнитель перестаёт читать файл сверху вниз. Он работает как интерпретатор дерева: строит AST, а затем решает, как его выполнить.

Дерево намерений → план исполнения

Сначала строится дерево намерений, и только потом — план исполнения:

Login
 ├── Profile
 └── Orders
      └── Items

Например, вложенные запросы сдвигом на 2 пробела — это потенциальные циклы, чтобы обходить страницы пагинации или дочерние коллекции.

Вложенность задаёт scope

Отступы — не визуальное оформление, а область контекста. Если родитель вернул коллекцию, дочерний узел запускается для каждого элемента (foreach):

### Users
GET /users

  ### Orders
  GET /orders?user={{ $item.id }}

Если Users вернул [{id:1}, {id:2}], то Orders выполнится дважды: /orders?user=1 и /orders?user=2.

Специальные объекты контекста:

Так «выполнение шагов» превращается в «поток данных по дереву»: дочерний узел потребляет результат родителя, а исполнитель автоматически раскрывает циклы.

Источники

Связанные заметки

Evolution