ocaml: phase 5.1 sieve.ml baseline (Sieve of Eratosthenes)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 24s
Counts primes <= 50, expected 15.
Stresses the recently-added Array module + the new array-indexing
syntax together with nested control flow:
let sieve = Array.make (n + 1) true in
sieve.(0) <- false;
sieve.(1) <- false;
for i = 2 to n do
if sieve.(i) then begin
let j = ref (i * i) in
while !j <= n do
sieve.(!j) <- false;
j := !j + i
done
end
done;
...
Exercises: Array.make, arr.(i), arr.(i) <- v, nested for/while,
begin..end blocks, ref/!/:=, integer arithmetic. 24 baseline
programs total.
This commit is contained in:
@@ -407,6 +407,10 @@ _Newest first._
|
||||
binary search tree (`type 'a tree = Leaf | Node of 'a * 'a tree *
|
||||
'a tree`) with insert + in-order traversal. Tests parametric ADT,
|
||||
recursive match, List.append, List.fold_left.
|
||||
- 2026-05-09 Phase 5.1 — sieve.ml baseline (Sieve of Eratosthenes,
|
||||
count of primes ≤ 50 = 15). Stresses Array.make + arr.(i) +
|
||||
arr.(i) <- v + nested for/while loops + `begin..end` block. 24
|
||||
baseline programs total.
|
||||
- 2026-05-09 Phase 4 — `arr.(i)` and `arr.(i) <- v` array indexing
|
||||
syntax (+3 tests, 515 total). parse-atom-postfix's `.(...)` branch
|
||||
now disambiguates between let-open and array-get based on whether
|
||||
|
||||
Reference in New Issue
Block a user