Индекс YaoXiang RFC (Запрос на комментарии)
RFC (Request for Comments) — это формальный формат подачи предложений по дизайну возможностей языка YaoXiang.
Содержание
- Шаблон
- Черновые RFC
- RFC на рассмотрении
- Принятые RFC
- Устаревшие RFC
- Отклонённые RFC
- Правила ревизии документов
Шаблон
| Файл | Описание |
|---|---|
| RFC_TEMPLATE.md | Стандартный шаблон RFC |
| EXAMPLE_full_feature_proposal.md | Полный пример (усиление pattern matching) |
Черновые RFC
| Номер | Заголовок | Автор | Дата создания | Статус |
|---|---|---|---|---|
| RFC-002 | RFC-002: Слой реализации IO для типов ресурсов на основе libuv | 晨煦 | 2026-01-05 | Черновик |
| RFC-019 | RFC-019: Типизированная гомоиконичность (Typed Homoiconicity) — синтаксис как тип | 晨煦 | 2026-02-20 | Черновик |
| RFC-028 | RFC-028: JIT-компилятор — многоуровневый движок исполнения внутри VM | 晨煦 | 2026-06-11 | Черновик |
| RFC-031 | RFC-031: Уровни оптимизации и менеджер Pass | 晨煦 | 2026-06-16 | Черновик |
| RFC-033 | RFC-033: Оператор рефлексии ^^ | 晨煦 | 2026-06-16 | На рассмотрении |
| RFC-034 | RFC-034: Унифицированный набор инструментов отладки | 晨煦 | 2026-07-06 | Черновик |
| RFC-035 | RFC-035: Поддержка MCP Server (интеграция AI Agent) | 晨煦 | 2026-07-11 | Черновик |
| RFC-027a | RFC-027a: Резервная функция доказательства для проверки завершения | 晨煦 | 2026-09-14 | Черновик |
| RFC-029a | RFC-029a: Кэш модулей и инкрементальная перекомпиляция | 晨煦 | 2026-09-07 | Черновик |
RFC на рассмотрении
| Номер | Заголовок | Автор | Дата создания | Статус |
|---|---|---|---|---|
| RFC-032 | RFC-032: Унификация выражений spawn — устранение особого случая spawn for | 晨煦 | 2026-06-16 | На рассмотрении |
Принятые RFC
Устаревшие RFC
| Номер | Заголовок | Автор | Дата создания | Статус |
|---|---|---|---|---|
| RFC-001 | RFC-001: Модель spawn и система обработки ошибок | 晨煦 | 2025-01-05 | Устарело (заменено RFC-024) |
| RFC-020 | RFC-020: Интеграция динамических модулей и FFI | 晨煦 | 2026-03-14 | Устарело |
| RFC-021 | RFC-021: Расширение FFI на основе библиотек и поддержка межъязыковых вызовов | 晨煦 | 2026-03-14 | Устарело |
| RFC-022 | RFC 022: Поддержка статической верификации на основе логики Хоара (аннотации спецификаций и типы спецификаций) | 晨煦 | 2026-03-16 | Устарело (заменено RFC-027) |
| RFC-023 | RFC-023: Модель захвата замыканий | 晨煦 | 2026-05-29 | Устарело |
Отклонённые RFC
| Номер | Заголовок | Автор | Дата создания | Статус |
|---|---|---|---|---|
| RFC-003 | RFC-003: Планирование версий | 晨煦 | 2025-01-05 | Отклонено |
| RFC-005 | RFC-005: Автоматизированная система проверки безопасности CVE | 晨煦 | 2025-01-05 | Отклонено |
| RFC-016 | RFC 016: Квантовая нативная поддержка и интеграция множественных бэкендов | 晨煦 | 2026-02-13 | Отклонено |
| RFC-025 | RFC-025: Расширяемый механизм примитивных типов | 晨煦 | 2026-06-05 | Отклонено |
Жизненный цикл RFC
Черновик → На рассмотрении → Принято → Устарело (заменено)
↓
Отклонено (не прошло)Описание статусов
| Статус | Расположение | Описание |
|---|---|---|
| Черновик | rfc/draft/ | Черновик автора, ожидает отправки на рассмотрение |
| На рассмотрении | rfc/review/ | Открыто для обсуждения сообществом и обратной связи |
| Принято | rfc/accepted/ | Стал официальным проектным документом, переходит в фазу реализации |
| Устарело | rfc/deprecated/ | Был принят, но заменён новым дизайном |
| Отклонено | rfc/rejected/ | Документ отклонённого RFC |
Правила ревизии документов
Документ RFC может содержать только корректную информацию. При изменении дизайна просто измените исходный текст, чтобы он отражал текущую правильную семантику; не сохраняйте ошибочное содержимое с добавлением блока «исправлений».
Сохранение «оригинала + исправления» — наихудший подход: читатель, дойдя до середины, обнаруживает, что всё ранее написанное устарело, потраченное на чтение время оказывается напрасным, а отменённые абзацы легко ошибочно принять за действующую семантику. Блок исправлений выглядит осторожным, но на деле перекладывает затраты на упорядочивание на читателя.
Правильный подход
| Ситуация | Действие |
|---|---|
| Реализация не соответствует оригиналу, оригинал отвергнут | Перепишите абзац правильным содержанием, удалите исходную формулировку |
| Примеры кода больше не запускаются | Измените их на запускаемую форму, не сохраняйте старые примеры |
| Нужно дать читателю знать, «как было раньше» | Сохраняйте ошибочное содержимое только при намеренном сравнении ошибок и сразу помечайте «эта запись ошибочна» с указанием причины |
| Нужно отследить эволюцию дизайна | Записывайте это в сообщениях Git-коммитов или issues, а не в основном тексте RFC |
Исключения
Следующая ошибочная информация может быть сохранена:
- Намеренные обучающие сравнения: явно помечены как сопоставление правильного и неправильного, при этом ошибочная сторона сопровождается объяснением «почему неправильно»
- Устаревшие RFC (
rfc/deprecated/): как историческая запись, но должно быть указано, кем заменён
Вспомогательные средства
- Поля
status/updatedв верхней части RFC отражают время последней ревизии; нет необходимости писать в основном тексте «что было изменено в этой ревизии» - Статус реализации выражайте с помощью таблиц ✅ / ❌, избегайте вплетения описаний статуса в основной текст
- Полную историю ревизий смотрите через
git log -- <файл>
Подача RFC
- Прочитайте RFC_TEMPLATE.md, чтобы узнать требования к формату
- Обратитесь к EXAMPLE_full_feature_proposal.md, чтобы изучить стиль написания
- Создайте новый файл с именем
номер-описательное-название.md - Поместите файл в каталог
docs/reference/rfc/draft/ - Обновите этот индексный файл, добавив новую запись RFC
- Отправьте PR для входа в процесс рассмотрения
Руководство по участию
См. CONTRIBUTING.md для получения руководства по участию.
