# pro.02_90 Кварковый уровень prolet

Кварковый уровень **prolet** является изолированным контекстом. В нём нет высокоуровневых типов, структур, срезов, типажей и т.п. Кварковый уровень выражает все доступные возможности **ВМ.**

> 💡 Работа с виртуальной машиной на кварковом уровне не может легко испортить её состояние!

## Контекст кваркового уровня

Для вхождения в контекст кваркового уровня необходимо его активировать в форме:

```prolet
(кварк
  (...)
)
```

После этого, все возможности декодера команд кваркового уровня будут доступны на этом уровне, без какой либо необходимости упоминания ассемблера. При этом все остальные возможности языка будут изолированы. На кварковом уровне недоступны контексты, влияющие на работу **ВМ**. Доступны системные свойства, такие как `@_док`, которые фактически никак не влияют на состояние **ВМ.**

## Набор кварков кваркового уровня

Набор кварков может со временем расширяться. Существующие кварки меняться не будут в рамках текущей мажорной версии **ВМ**. Ограничений на расширение кварков не заложено.

## Макросы на кварковом уровне

Поскольку макросы в **prolet** не являются полными по Тьюрингу, а служат средством автоматизации, то макросы на кварковом уровне разрешены. С помощью них можно удобно группировать несколько кварков.

## 🎯 Заключение

> ✅ **prolet** включает в себя кварковый уровень как машину исполнения. Кварковый уровень не теряет смыслы, не знает ничего о атомах или спецификациях — это машина исполнения логики кварков, кварки самостоятельно хранят свои состояния.
