The IO effect is missing a few standard operations and one of the
existing ones has a surprising unhandled default.
IO.exit — no way to terminate a program with a status code.
- env-var set —
[IO.env "X"] reads; there is no setter.
IO.args default — [IO.args] returns () (Unit) when run
without a custom handler, which is hard to use. It should fall
through to the actual process args as #[Str].
Acceptance criteria
[IO.exit code], [IO.set-env "K" "V"] declared and listed in
ref/effects.loon.
- Default
IO.args handler returns the real process arguments.
- A test program reads
[IO.args] under loon run and gets a
non-empty vector.
The
IOeffect is missing a few standard operations and one of theexisting ones has a surprising unhandled default.
IO.exit— no way to terminate a program with a status code.[IO.env "X"]reads; there is no setter.IO.argsdefault —[IO.args]returns()(Unit) when runwithout a custom handler, which is hard to use. It should fall
through to the actual process args as
#[Str].Acceptance criteria
[IO.exit code],[IO.set-env "K" "V"]declared and listed inref/effects.loon.IO.argshandler returns the real process arguments.[IO.args]underloon runand gets anon-empty vector.