Flint is an experimental project that explores what an assembly-like
language could look like when used to build HTTP APIs and server-rendered UI
pages.
The language runs on a tiny register-based virtual machine. Route handlers are
written in .fl files, compiled to bytecode, and served through the Rust HTTP
runtime. Server-rendered UI pages live in .flint.ui files and compile into
ordinary Flint route modules.
section .route
GET "/hello" -> say_hello
section .text
say_hello:
mov r0, "Hello from Flint!"
ncall http.text, r0
retA styled UI page can be written without handwritten HTML:
section .route
GET "/"
section .render
window "Dashboard"
text "A server-rendered page from Flint UI."
card "Actions"
btn "Open API", "/hello"
end
endcrates/flint Rust library: VM, compiler, stdlib, HTTP runtime
crates/flint-cli CLI binary: flint new, flint serve, flint build
docs VitePress documentation
extensions/vscode VS Code language extensioncargo test
cargo run --bin flint -- new my-app
cargo run --bin flint -- serve my-app
pnpm docs:buildThis is a research and learning project. The goal is to make the runtime, bytecode, HTTP layer, and page generation easy to inspect and evolve.