Early preview: syntax, standard library APIs, and tooling may change.

FoundationsBlorp CLI

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.

greet.brp
func main(args: List[String]) -> Void:
	name = args.drop(1).join(" ") -- Skip the program entry.
	print("Hello, ${name}!")

Try it

terminal
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.

terminal
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.

terminal
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.

terminal
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.

terminal
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.

terminal
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.

terminal
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