Files
rose-ash/lib/ocaml/baseline
giles acc8b01ddb
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s
ocaml: phase 5.1 exception_user.ml baseline (user exception with payload, 4+5+7+10 = 26)
Defines a user exception with int payload:

  exception Negative of int

  let safe_sqrt n =
    if n < 0 then raise (Negative n)
    else <integer sqrt via while loop>

  let try_sqrt n =
    try safe_sqrt n with
    | Negative x -> -x

  try_sqrt  16  -> 4
  try_sqrt  25  -> 5
  try_sqrt -7   -> 7  (handler returns -(-7) = 7)
  try_sqrt 100  -> 10
  sum           -> 26

Tests exception declaration with int payload, raise with carry, and
try-with arm pattern-matching the constructor with payload binding.

56 baseline programs total.
2026-05-09 12:04:42 +00:00
..