-
Notifications
You must be signed in to change notification settings - Fork 0
RoadMap
Maksym Stukalo edited this page Apr 28, 2025
·
1 revision
- Настроить загрузчик в 64-битный Long Mode, стек, память.
- Реализовать арены памяти (
arena.alloc,arena.reset). - Написать простейший парсер языка на Python.
- Сделать генератор тупого ассемблера.
- Сделать стандартную библиотеку (print, строки, арены).
- Компилить Hello World в бинарник и запускать через QEMU.
- Написать дебаг-сервер на TCP порту 9000.
- Реализовать команды дебага (
list actors,show arena,kill actor). - Добавить базовую проверку ошибок арены (переполнение).
- Реализовать акторы (
actor.spawn,actor.error). - Добавить простой лог событий (спавн, краши, аллокации).
- Поймать первые баги и научиться останавливать краши.
- Написать минимальный TCP-стек.
- Реализовать базовый HTTP/1.1 парсер (GET/POST запросы).
- Подключить минимальный HTTP-сервер API (
accept,respond). - Ограничить Content-Length тела запроса.
- Реализовать автоответ 413 при больших запросах.
- Добавить простую маршрутизацию
/hello -> {}. - Реализовать дебаг-режим в рантайме (on/off).
- Написать минимальную документацию по языку и API.
- Сделать мини-сайт/страничку проекта.
- Выложить публичный билд (бинарник + инструкция запуска).
- Никакой поддержки HTTP/2, TLS, WebSocket на первом этапе.
- Никаких больших стандартных библиотек.
- Никаких кросс-платформенных штук (пока только x86-64).
- Никаких сложных виртуальных машин.
- Никаких интеграций с LLVM на старте.
- Рабочая ареновая память.
- Рабочий язык Bolt (минималка).
- Акторы с правильной остановкой и дебагом.
- Дебаг-сервер для управления живыми процессами.
- Примитивный сетевой ввод-вывод через HTTP/1.1.
- Защита от заливания файлов в 2ГБ (лимиты).
- Живая демка на примере минимального веб-сервера.
Работает — потом красиво.
Фичи по плану — без самодеятельности.
Фокус на MVP — без перфекционизма.