Working ProgramsProcesses and Environment
Blorp by Example

Processes and Environment

Use explicit imports for environment and process APIs.

Env Vars

system.getenv returns Option[String].

env.brp
mode: String = getenv("APP_MODE").get_or("dev")

Process Helpers

process.run(program, args) passes arguments without a shell.

process.brp
match P.run("printf", ["ok"]):
    Ok(out): print(out.0)
    Err(msg): eprintln(msg)

Shell Safety

process.shell(command) goes through /bin/sh -c; reserve it for fixed scripts.

process-safe.brp
P.run("printf", [value])
-- Prefer this over building a shell string.

Example

env-process.brp
import:
	process as P
	system: getenv


func main(args: List[String]) -> Int:
	config: String = getenv("APP_MODE").get_or("dev")
	match P.run("printf", [config]):
		Ok(out):
			print(out.0)
			out.2
		Err(msg):
			eprintln(msg)
			1

Try It

terminal
blorp run env-process.brp