Skip to Content
i documentation
Standard library referenceModules

i/process

Process capabilities and secure entropy.

Arguments

Arguments = (args = () -> Request(Result(BitArray, String)))

Environment

Environment = (env = (String) -> Request(Result(String, String)))

WorkingDirectory

WorkingDirectory = (cwd = () -> Request(Result(String, String)))

Entropy

Entropy = (entropy = (Int) -> Request(Result(BitArray, String)))

Process

Process = (

Child

Child = (Int)

Stdio

Stdio = Inherit | Null | Piped

spawn_piped

spawn_piped = (program, values, input, output, errors) <- (raw : Process) {

spawn_config

Spawn with inherited or replacement environment entries and a working directory. Entries NAME=value set variables; NAME removes a variable.

spawn_config = (

EnvironmentMode

EnvironmentMode = InheritEnvironment | ReplaceEnvironment

DirectoryMode

Before stage 3 this sum was Directory with a constructor of the same name; a member is now a type of its own (syntax-3.md §2.8), so the sum has the name DirectoryMode, as EnvironmentMode.

DirectoryMode = InheritDirectory | Directory

read_stdout

read_stdout = (Child(number), max) <- (raw : Process) {

read_stderr

read_stderr = (Child(number), max) <- (raw : Process) {

write_stdin

write_stdin = (Child(number), bytes) <- (raw : Process) {

close_stdin

close_stdin = (Child(number)) <- (raw : Process) {

ProcessError

ProcessError = (operation = String, code = String)

args

args = () <- (raw : Arguments) {

env

env = (name) <- (raw : Environment) {

cwd

cwd = () <- (raw : WorkingDirectory) {

entropy

entropy = (bytes) <- (raw : Entropy) {

spawn

spawn = (program, values) <- (raw : Process) {

wait

wait = (Child(number)) <- (raw : Process) {

terminate

terminate = (Child(number)) <- (raw : Process) {

close

close = (Child(number)) <- (raw : Process) {