Небольшой сверхбыстрый веб-фреймворк на основе Web Standards для Cloudflare Workers, Deno, Bun, AWS Lambda, Node.js и других платформ.
Millillion/lasm
AOT-компилятор Lean 4, который превращает обычные программы на Lean в WebAssembly для Node, serverless-, edge-, WASI- и браузерных сред.
- Звёзды
- 103
- Форки
- 7
- Открытые issues
- 1
- Последний коммит
- 5 часов назад
Что это?
Lasm заранее компилирует обычные программы на Lean 4 в WebAssembly, позволяя запускать одну и ту же кодовую базу Lean как сервер Node, serverless- или edge-функцию, модуль WASI или Fastly либо браузерное приложение. Пакет доступен в npm и включает Lean и инструменты сборки, поэтому разработчикам достаточно установить Node, Bun или Deno.
Lasm обеспечивает взаимодействие с JavaScript и npm: для этого в Lean добавляется импорт и по одному объявлению на вызываемую функцию. Также доступны библиотеки Lean для HTTP (Lasm.Fetch), браузерного UI с корректностью diff, доказанной формально (Lasm.UI), типизированных клиент-серверных API (Lasm.RPC) и доступа к DOM (Lasm.Web). Поскольку код написан на Lean, свойства развёртываемого кода можно записать в виде теорем и проверить во время сборки. Один из ключевых примеров — приложение RealWorld под названием Conduit, включающее 117 доказанных теорем о логике авторизации, пагинации и валидации.
Среди целевых платформ развёртывания — AWS Lambda, Vercel, Netlify, Azure Functions, Google Cloud Functions, Cloudflare Workers, Deno Deploy, Fastly Compute, а также обычные сборки для WASI и браузеров. Программы не могут выполнять elaboration или вычислять Lean во время работы; сборки для edge, Bun/Deno, WASI и браузеров работают в одном потоке, без сокетов и процессов.
Ключевые возможности
- 01Заранее компилирует обычные программы на Lean 4 в WebAssembly.
- 02Собирает приложения для Node, AWS Lambda, Vercel, Netlify, Cloudflare Workers, Deno Deploy, Fastly, WASI и браузеров.
- 03Вызывает пакеты npm и функции JavaScript из Lean с помощью однострочных объявлений @[js].
- 04Предоставляет библиотеки Lean для HTTP, браузерного UI, типизированного клиент-серверного RPC и доступа к DOM.
- 05Устанавливается через npm вместе с Lean и инструментами сборки; шаблоны проектов доступны через npm create.
Сценарии использования
- Написание REST API для Node на Lean с использованием Hono или Express.
- Развёртывание функции на Lean на serverless- или edge-платформах.
- Создание одностраничного браузерного приложения на Lean с серверным рендерингом.
- Доказательство инвариантов, например правил авторизации в веб-бэкенде.
Быстрый старт
- 1
Создайте новый проект с шаблоном Hono
npm create @lasm@latest my-app -- --template hono - 2
Перейдите в каталог проекта и установите зависимости
cd my-app && npm install - 3
Запустите сервер разработки
npm run dev
Что важно знать
- Цепочка инструментов на базе Lean: при первой сборке скачивается около 250–275 МБ Lean и инструментов сборки.
- Сборки для Edge, Bun/Deno, WASI и браузеров работают в один поток, без сокетов и процессов.
- Для компилятора требуется Node 24 или новее; единственные альтернативные среды выполнения — Bun и Deno.
В подборках
Темы
Частые вопросы
- Что такое lasm?
- AOT-компилятор Lean 4, который превращает обычные программы на Lean в WebAssembly для Node, serverless-, edge-, WASI- и браузерных сред. Lasm заранее компилирует обычные программы на Lean 4 в WebAssembly, позволяя запускать одну и ту же кодовую базу Lean как сервер Node, serverless- или edge-функцию, модуль WASI или Fastly либо браузерное приложение. Пакет доступен в npm и включает Lean и инструменты сборки, поэтому разработчикам достаточно установить Node, Bun или Deno.
- lasm можно использовать бесплатно? Какая у него лицензия?
- lasm распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lasm всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lasm — 7 нояб. 2026 г..
- Для чего можно использовать lasm?
- Написание REST API для Node на Lean с использованием Hono или Express. Развёртывание функции на Lean на serverless- или edge-платформах. Создание одностраничного браузерного приложения на Lean с серверным рендерингом. Доказательство инвариантов, например правил авторизации в веб-бэкенде.
- Как установить lasm?
- Создайте новый проект с шаблоном Hono: npm create @lasm@latest my-app -- --template hono Перейдите в каталог проекта и установите зависимости: cd my-app && npm install Запустите сервер разработки: npm run dev
- Где скачать lasm?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Millillion/lasm
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Серверный рантайм для JavaScript и Wasm на базе того же кода, что и Cloudflare Workers, — для самостоятельного хостинга и локальной разработки.
Экспериментальный компилятор TypeScript и JavaScript, который превращает программы в нативные исполняемые файлы или WebAssembly без необходимости устанавливать Node.js.
Компилятор Go на базе LLVM для микроконтроллеров, WebAssembly (WASM/WASI) и инструментов командной строки.
Компилятор C# и .NET CIL в WebAssembly со своими CoreLib, runtime и SDK для создания компактных автономных компонентов WASI Preview 2.
Автономная среда выполнения WebAssembly на базе генератора кода Cranelift, с поддержкой WASI и встраиванием в приложения на разных языках.