Local marketplace for Weir language server
npx claudepluginhub nathanweir/weirlangWeir language server providing diagnostics, hover, completion, go-to-definition, and more for .weir files
Warning: Heads-up, this is a fun personal project to drive Claude Code very hard and make a domain-specific programming language. It's a fun personal project, but should probably not be used by anyone.
Weir is a statically typed, Lisp-family programming language targeting native code via Cranelift. It's designed for fast iteration in small-scale game development, combining S-expression syntax with a modern type system and function-level live reloading.
[], {}), and threading macros (->, ->>)weir.pkg manifests, path-based dependencies, native C source compilationextern "C" declarations with unsafe blocksWorking today:
weir run), AOT (weir build), tree-walking interpreter (weir interp)weir dev with file watching and function-level live reloadjust tetris)Requires Nix with flakes enabled:
git clone <repo-url> && cd weirlang
nix develop # activate dev environment
just test # run all tests
Run a single file:
weir run examples/hello.weir # JIT compile and run
weir build examples/hello.weir # AOT compile to binary
weir dev examples/hello.weir # dev mode with live reload
Run a package project:
cd demos/tetris && weir run # discovers weir.pkg, resolves deps, runs via JIT
crates/
weir-lexer/ Tokenizer
weir-parser/ S-expression parser → AST
weir-macros/ Macro expander
weir-typeck/ Type checker (local inference, typeclasses, ADTs)
weir-codegen/ Cranelift JIT/AOT backend + dev mode live reload
weir-interp/ Tree-walking interpreter
weir-runtime/ GC, arenas, runtime support
weir-pkg/ Package system (manifest parsing, dependency resolution)
weir-cli/ CLI frontend (clap)
weir-lsp/ Language Server Protocol implementation
weir-ast/ AST types, pretty printer, TCO analysis
design/ Language design documents
std/ Standard library (prelude)
demos/ Demo projects (tetris)
docs/ Documentation website (Astro + Starlight)
See docs/ for the full documentation site, or run just docs-dev to browse locally.