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