Ранее контексты встречались в примерах кода prolet: макросы, функции, типажи и процессы. Теперь контексты будут обозначены явно, как тип вычислительных групп.
::: info
В prolet больше нет «меток» или «аннотаций», висящих в воздухе.
Есть контекст — материальная и логическая среда, в которой возможны определённые действия.
:::
Практически
Когда программист пишет:
(Пользователь СтатусОбновить "онлайн")
— программист не просто «вызываете метод у типа», а входит в контекст Пользователь, где определены действия:
- СтатусОбновить,
- Сохранить,
- Удалить и т.д.
prolet нет «голых функций», применимых везде.(Сообщение Шифровать ключ)
(Ключ Применить сообщение)
(БазаДанных Сохранить запись)
(Запись Удалить номер)
Здесь:
Сообщение — не тип, а контекст, в котором возможно действие Шифровать,Ключ — контекст, в котором можно Применить что-то,(Ключ Шифровать ...) — ошибка, потому что действие Шифровать не принадлежит контексту Ключ.резКогда программист пишет:
(СоздатьПользователя "Алексей")
(Пользователь СтатусОбновить @рез "онлайн")
— первое выражение даёт @рез типа Пользователь,
— второе выражение входит в контекст Пользователь,
— и только в этом контексте разрешено действие СтатусОбновить.
Это — естественная цепочка: результат → контекст → действие.
В prolet не существует технократического «тег», есть философски и практически насыщенное понятие «контекст».
prolet — это не язык с аннотациями, а язык практики, где:
::: success
Каждое действие возможно только в своём контексте,
и контекст определяется материей, а не формой.
:::
Это соответствует духу диалектического материализма и делает язык ориентированным не на объекты, а на условия их преобразования.
prolet поддерживает абстракции, но как инструмент освобождает от абстрактного мышления, которое не происходит из практики.