giles
1bde4e834f
Test, Build, and Deploy / test-build-deploy (push) Failing after 30s
ocaml: phase 5.1 stable_unique.ml baseline (Hashtbl dedupe preserving order, 8+38 = 46)
...
Walk input with Hashtbl.mem + Hashtbl.add seen x () (unit-payload
turns the table into a set); on first occurrence cons to the result
list; reverse at the end:
let stable_unique xs =
let seen = Hashtbl.create 8 in
let result = ref [] in
List.iter (fun x ->
if not (Hashtbl.mem seen x) then begin
Hashtbl.add seen x ();
result := x :: !result
end
) xs;
List.rev !result
For [3;1;4;1;5;9;2;6;5;3;5;8;9]:
result = [3;1;4;5;9;2;6;8] (input order, dupes dropped)
length = 8, sum = 38 total = 46
Tests Hashtbl as a set abstraction (unit-payload), the rev-build
idiom, and 'not (Hashtbl.mem seen x)' membership negation.
82 baseline programs total.
2026-05-09 16:56:46 +00:00
..
2026-05-09 08:50:12 +00:00
2026-05-09 12:14:32 +00:00
2026-05-08 19:57:09 +00:00
2026-05-09 12:34:36 +00:00
2026-05-09 06:15:03 +00:00
2026-05-09 06:59:22 +00:00
2026-05-09 12:52:55 +00:00
2026-05-09 12:24:48 +00:00
2026-05-08 21:05:32 +00:00
2026-05-09 11:19:23 +00:00
2026-05-09 13:02:17 +00:00
2026-05-09 09:15:00 +00:00
2026-05-09 02:24:45 +00:00
2026-05-09 10:40:49 +00:00
2026-05-08 17:52:49 +00:00
2026-05-09 00:13:11 +00:00
2026-05-08 16:53:44 +00:00
2026-05-08 13:44:28 +00:00
2026-05-09 10:21:11 +00:00
2026-05-09 16:28:15 +00:00
2026-05-09 01:47:27 +00:00
2026-05-08 13:44:28 +00:00
2026-05-09 12:04:42 +00:00
2026-05-09 16:56:46 +00:00
2026-05-08 15:01:04 +00:00
2026-05-09 11:09:23 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 15:53:47 +00:00
2026-05-08 17:44:07 +00:00
2026-05-09 11:52:19 +00:00
2026-05-09 06:05:31 +00:00
2026-05-09 01:11:53 +00:00
2026-05-09 11:42:52 +00:00
2026-05-09 09:34:40 +00:00
2026-05-09 14:40:22 +00:00
2026-05-09 13:30:46 +00:00
2026-05-09 08:21:19 +00:00
2026-05-09 15:02:13 +00:00
2026-05-09 07:41:01 +00:00
2026-05-09 10:07:12 +00:00
2026-05-08 19:49:08 +00:00
2026-05-09 00:23:58 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 15:42:01 +00:00
2026-05-09 11:00:00 +00:00
2026-05-09 15:22:28 +00:00
2026-05-08 19:10:49 +00:00
2026-05-09 05:00:50 +00:00
2026-05-09 15:11:46 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 14:52:13 +00:00
2026-05-08 18:43:19 +00:00
2026-05-09 08:29:01 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 10:31:22 +00:00
2026-05-09 16:03:22 +00:00
2026-05-09 16:13:05 +00:00
2026-05-09 09:57:18 +00:00
2026-05-09 16:38:09 +00:00
2026-05-09 07:19:52 +00:00
2026-05-08 20:49:26 +00:00
2026-05-09 14:21:24 +00:00
2026-05-09 09:24:41 +00:00
2026-05-09 12:44:02 +00:00
2026-05-08 19:04:04 +00:00
2026-05-08 13:44:28 +00:00
2026-05-08 23:40:36 +00:00
2026-05-09 08:39:56 +00:00
2026-05-09 16:47:56 +00:00
2026-05-09 09:47:25 +00:00
2026-05-09 00:13:11 +00:00
2026-05-09 06:47:47 +00:00
2026-05-09 07:31:33 +00:00
2026-05-09 02:16:18 +00:00
2026-05-09 16:56:46 +00:00
2026-05-09 13:46:40 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 14:00:49 +00:00
2026-05-09 15:32:11 +00:00
2026-05-09 13:15:05 +00:00
2026-05-09 05:44:35 +00:00
2026-05-09 08:11:07 +00:00
2026-05-08 16:11:03 +00:00
2026-05-09 08:01:21 +00:00
2026-05-09 14:30:55 +00:00
2026-05-09 11:33:30 +00:00