$ printf 'proc main(): void {\n\techo "it works"\n}\n' > hello.hive
$ hive check hello.hive
No problems found in hello.hive (0s)
$ hive run hello.hive
it works
$ hive build hello.hive
Compiled hello.hive -> hello (0s)Every example from here on is a complete program: put it in a file ending in .hive, and one command runs it. The compiler is a single executable, released for Linux, macOS and Windows on amd64 and arm64 as hivec-<os>-<arch>. Put it on your PATH as hive, the name its own messages use. Hive compiles to Go, so running or building a program also needs Go 1.24 or newer on the PATH; checking one needs nothing else.
hive check hello.hive reads a program and reports what is wrong with it without building anything, which makes it the one to reach for first and after every edit.hive run hello.hive compiles and runs in one step. The program starts in the entrypoint's folder, everything after the file name is handed to it, and its exit status becomes the command's.hive build hello.hive leaves a native executable beside the entrypoint.A build writes the Go it generates into a folder beside the entrypoint, hello.hive-build/, and deletes it first every time, so it is safe to ignore in version control. An error opens with file:line:, goes to standard error, and exits non-zero. Each of the compiler's passes reports every mistake it finds, but a pass that found one stops the passes after it: fix the type errors, and the bounds errors behind them appear.