feat(lang42): proc.run_dl — deadline and caps at the call site

- one stdlib_members row (arity 5, id 96, nullable Proc return, Proc
  record class appended) — the net _dl precedent verified: those rows
  needed no emit.ml change and neither does this one
- woc-test: 557 checks, 0 failures

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
shoney.arickathil 2026-09-01 22:11:11 +02:00
parent 4180ee09d4
commit baede5c373

View file

@ -313,6 +313,10 @@ let stdlib_members : stdlib_member list =
m "time" "after" 3 90 None None; m "time" "after" 3 90 None None;
(* proc *) (* proc *)
m "proc" "run" 2 56 (Some (TNullable (TScalar proc_record_name))) (Some proc_record_name); m "proc" "run" 2 56 (Some (TNullable (TScalar proc_record_name))) (Some proc_record_name);
(* iteration 42: per-call bounds — deadline_ms, out_cap, err_cap
(<= 0 picks the default: 30 000 ms / 1 MiB / 64 KiB). A bound
violation kills the child and traps WO_T_IO naming the bound. *)
m "proc" "run_dl" 5 96 (Some (TNullable (TScalar proc_record_name))) (Some proc_record_name);
(* json — both members are lowered specially (emit.ml): encode needs its (* json — both members are lowered specially (emit.ml): encode needs its
argument's static kind, and decode has no type until an `as` names one, argument's static kind, and decode has no type until an `as` names one,
so neither goes through the generic builtin path. They are listed here so neither goes through the generic builtin path. They are listed here