Files
rose-ash/lib/ocaml/baseline/expected.json
giles 0234ae329e
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
ocaml: phase 5.1 caesar.ml baseline (ROT13 + s.[i] + Char ops)
Side-quests required to land caesar.ml:

1. Top-level 'let r = expr in body' is now an expression decl, not a
   broken decl-let. ocaml-parse-program's dispatch now checks
   has-matching-in? at every top-level let; if matched, slices via
   skip-let-rhs-boundary (which already opens depth on a leading let
   with matching in) and ocaml-parse on the slice, wrapping as :expr.

2. runtime.sx: added String.make / String.init / String.map. Used by
   caesar.ml's encode = String.init n (fun i -> shift_char s.[i] k).

3. baseline run.sh per-program timeout 240->480s (system load on the
   shared host frequently exceeds 240s for large baselines).

caesar.ml exercises:
  * the new top-level let-in expression dispatch
  * s.[i] string indexing
  * Char.code / Char.chr round-trip math
  * String.init with a closure that captures k

Test value: Char.code r.[0] + Char.code r.[4] after ROT13(ROT13('hello')) = 104 + 111 = 215.
2026-05-09 00:13:11 +00:00

25 lines
481 B
JSON

{
"anagrams.ml": 3,
"bfs.ml": 6,
"btree.ml": 39,
"caesar.ml": 215,
"calc.ml": 13,
"closures.ml": 315,
"exception_handle.ml": 4,
"expr_eval.ml": 16,
"factorial.ml": 3628800,
"fizzbuzz.ml": 57,
"list_ops.ml": 30,
"lambda_calc.ml": 7,
"memo_fib.ml": 75025,
"module_use.ml": 3,
"mutable_record.ml": 10,
"option_match.ml": 5,
"poly_stack.ml": 5,
"queens.ml": 2,
"quicksort.ml": 44,
"roman.ml": 44,
"sum_squares.ml": 385,
"word_count.ml": 3
}