Blorp CLI
blorp is the command line surface for checking, running, testing, formatting, compiling, and inspecting programs.
Run
blorp run compiles and executes one file. Put program arguments after -- so they are passed to your main function.
func main(args: List[String]) -> Void:
name = args.drop(1).join(" ") -- Skip the program entry.
print("Hello, ${name}!")
Try it
blorp run greet.brp -- Ada Lovelace # Hello, Ada Lovelace!
blorp run --release greet.brp -- Ada Lovelace # Hello, Ada Lovelace!
Check
blorp check parses, imports, and type checks a file or every .brp file in a directory without running the program.
blorp check program.brp
blorp check src/
Test
blorp test runs test files or directories. Use --doc or --suite when you want only doctests or only TestSuite tests.
blorp test tests/
blorp test --doc standard_library/src/string.brp
blorp test --suite tests/
blorp test --timeout 30 tests/
Format
blorp format rewrites a source file in place or recursively formats all .brp files in a directory. Use --check in CI to verify formatting without modifying files.
blorp format file.brp
blorp format src/
blorp format --check src/
Compile and Inspect
blorp compile emits generated C. The inspection flags expose parser, type, and compiler pipeline output for debugging.
blorp compile program.brp
blorp compile -o program.c program.brp
blorp compile --ast program.brp
blorp compile --time-phases program.brp
Debugging Flags
Use runtime and compiler flags when you need debug-only code, sanitizer coverage, leak checks, or a specific standard library checkout.
blorp run --debug program.brp
blorp run --sanitize program.brp
BLORP_LEAK_CHECK=1 blorp run program.brp
BLORP_STD=standard_library/src blorp check src/
Editor and Purity Tools
blorp lsp serves editor integrations. blorp purify marks functions the compiler can prove pure; review its changes like any source edit.
blorp lsp
blorp purify src/main.brp
Lint
blorp lint reports typed design findings. Use --fail-on-findings to make them fail a check.
blorp lint src/main.brp
blorp lint --fail-on-findings src/main.brp