Um framework web pequeno e ultrarrápido, baseado em Web Standards, que roda no Cloudflare Workers, Deno, Bun, AWS Lambda, Node.js e outros ambientes.
Millillion/lasm
Compilador AOT para Lean 4 que transforma programas Lean comuns em WebAssembly para Node, serverless, edge, WASI e navegadores.
- Estrelas
- 100
- Forks
- 7
- Issues abertas
- 1
- Último commit
- há 21 horas
O que é?
Lasm compila programas Lean 4 comuns antecipadamente para WebAssembly, permitindo que uma única base de código Lean rode como servidor Node, função serverless ou edge, módulo WASI ou Fastly, ou aplicativo de navegador. Ele é distribuído pelo npm e inclui Lean e suas ferramentas de build, então os desenvolvedores precisam ter instalado apenas Node, Bun ou Deno.
Lasm oferece interoperabilidade com JavaScript e npm por meio de um import em Lean e uma declaração para cada função chamada, além de bibliotecas Lean para HTTP (Lasm.Fetch), UI de navegador com um diff cuja correção é provada (Lasm.UI), APIs tipadas de cliente/servidor (Lasm.RPC) e acesso ao DOM (Lasm.Web). Como o código é Lean, é possível escrever propriedades do código implantado como teoremas e verificá-las no build. Um exemplo de destaque, um aplicativo RealWorld chamado Conduit, inclui 117 teoremas provados sobre sua lógica de autorização, paginação e validação.
Os destinos de implantação incluem AWS Lambda, Vercel, Netlify, Azure Functions, Google Cloud Functions, Cloudflare Workers, Deno Deploy, Fastly Compute, além de saídas WASI e para navegador. Os programas não podem elaborar nem avaliar Lean em tempo de execução, e os builds para edge, Bun/Deno, WASI e navegador rodam em uma única thread, sem sockets ou processos.
Recursos principais
- 01Compila programas Lean 4 comuns antecipadamente para WebAssembly.
- 02Gera builds para Node, AWS Lambda, Vercel, Netlify, Cloudflare Workers, Deno Deploy, Fastly, WASI e navegadores.
- 03Chama pacotes npm e funções JavaScript a partir de Lean por meio de declarações @[js] de uma linha.
- 04Oferece bibliotecas Lean para HTTP, UI de navegador, RPC tipado de cliente/servidor e acesso ao DOM.
- 05Instala pelo npm com Lean e ferramentas de build incluídos; oferece templates de projeto via npm create.
Casos de uso
- Criar uma API REST para Node em Lean que use Hono ou Express.
- Implantar uma função Lean em plataformas serverless ou edge.
- Criar um aplicativo de página única para navegador em Lean com saída renderizada no servidor.
- Provar invariantes, como regras de autorização, em um backend web.
Início rápido
- 1
Crie um novo projeto com o template do Hono
npm create @lasm@latest my-app -- --template hono - 2
Acesse o projeto e instale as dependências
cd my-app && npm install - 3
Inicie o servidor de desenvolvimento
npm run dev
Antes de usar
- Toolchain baseada em Lean: a primeira compilação baixa cerca de 250–275 MB do Lean e das ferramentas de compilação.
- As compilações para Edge, Bun/Deno, WASI e navegadores são executadas em uma única thread, sem sockets ou processos.
- O compilador requer Node 24 ou posterior; Bun ou Deno são os únicos runtimes alternativos.
Em coleções
Tópicos
Perguntas frequentes
- O que é lasm?
- Compilador AOT para Lean 4 que transforma programas Lean comuns em WebAssembly para Node, serverless, edge, WASI e navegadores. Lasm compila programas Lean 4 comuns antecipadamente para WebAssembly, permitindo que uma única base de código Lean rode como servidor Node, função serverless ou edge, módulo WASI ou Fastly, ou aplicativo de navegador. Ele é distribuído pelo npm e inclui Lean e suas ferramentas de build, então os desenvolvedores precisam ter instalado apenas Node, Bun ou Deno.
- lasm é gratuito? Qual é a licença?
- lasm é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- lasm ainda é mantido?
- Manutenção ativa. O último commit de lasm foi em 5 de nov. de 2026.
- Para que posso usar lasm?
- Criar uma API REST para Node em Lean que use Hono ou Express. Implantar uma função Lean em plataformas serverless ou edge. Criar um aplicativo de página única para navegador em Lean com saída renderizada no servidor. Provar invariantes, como regras de autorização, em um backend web.
- Como instalar lasm?
- Crie um novo projeto com o template do Hono: npm create @lasm@latest my-app -- --template hono Acesse o projeto e instale as dependências: cd my-app && npm install Inicie o servidor de desenvolvimento: npm run dev
- Onde consigo lasm?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Millillion/lasm
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Runtime de servidor JavaScript/Wasm baseado no mesmo código que executa o Cloudflare Workers, para hospedagem própria e desenvolvimento local.
Um compilador experimental de TypeScript e JavaScript que transforma programas em executáveis nativos ou WebAssembly, sem exigir Node.js em tempo de execução.
Um compilador Go baseado em LLVM para microcontroladores, WebAssembly (WASM/WASI) e ferramentas de linha de comando.
Compilador de C# e .NET CIL para WebAssembly, com CoreLib, runtime e SDK próprios, que gera componentes WASI Preview 2 autônomos e compactos.
Runtime independente de WebAssembly baseado no gerador de código Cranelift, com suporte a WASI e integração com aplicações em várias linguagens.