By nathanweir
Weir language server providing diagnostics, hover, completion, go-to-definition, and more for .weir files
npx claudepluginhub nathanweir/weirlang --plugin weir-lspWarning: 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.
TypeScript/JavaScript language server for enhanced code intelligence
Share bugs, ideas, or general feedback.
C/C++ language server (clangd) for code intelligence
Java language server (Eclipse JDT.LS) for code intelligence
C# language server for code intelligence
Python language server (Pyright) for type checking and code intelligence
GDScript language server for Godot Engine