Commit Graph

  • fb8bb9f105 js-on-sx: JSON.stringify replacer (fn+array), space, toJSON giles 2026-05-10 07:04:14 +00:00
  • b4571f0f9f ocaml: phase 5.1 lev_iter.ml baseline (sum of 5 edit distances = 16) giles 2026-05-10 06:53:38 +00:00
  • 0ef26b20f3 ocaml: phase 5.1 binary_heap.ml baseline (min-heap sort 9 vals -> 123456789) giles 2026-05-10 06:43:46 +00:00
  • 19d0ef0f38 ocaml: phase 5.1 rolling_hash.ml baseline (Rabin-Karp, 6 "abc" matches) giles 2026-05-10 06:34:13 +00:00
  • 769559bae7 js-on-sx: JSON.parse raises SyntaxError, rejects trailing content + control chars giles 2026-05-10 06:32:11 +00:00
  • 1dd350d592 ocaml: phase 5.1 huffman.ml baseline (Huffman tree WPL = 224) giles 2026-05-10 06:21:06 +00:00
  • 4fdf6980da ocaml: parser accepts if/match/let/fun as rhs of <- and := giles 2026-05-10 06:11:57 +00:00
  • cccef832d9 ocaml: phase 5.1 manacher.ml baseline (longest palindrome "babadaba" = 7) giles 2026-05-10 05:58:05 +00:00
  • 836b31a5b6 js-on-sx: arguments object is a mutable list copy giles 2026-05-10 05:56:33 +00:00
  • 526ffbb5f0 ocaml: phase 5.1 floyd_warshall.ml baseline (4-node APSP, dist(0,3)=9) giles 2026-05-10 05:41:02 +00:00
  • 99f321f532 ocaml: phase 5.1 mst_kruskal.ml baseline (5-node MST weight 11) giles 2026-05-10 05:21:14 +00:00
  • dfd89d998e ocaml: phase 5.1 trie.ml baseline (prefix tree, 6/9 word lookups match) giles 2026-05-10 05:11:12 +00:00
  • 74d8ade089 ocaml: phase 5.1 count_inversions.ml baseline (12 inversions via merge sort) giles 2026-05-10 05:01:08 +00:00
  • d7cc6d1b39 js-on-sx: split(undefined) returns whole string, funcexpr implicit return is undefined giles 2026-05-10 04:56:02 +00:00
  • 872302ede1 ocaml: phase 5.1 topo_sort.ml baseline (6-node DAG, all 6 ordered) giles 2026-05-10 04:51:15 +00:00
  • 57a63826e3 ocaml: phase 5.1 knapsack.ml baseline (0/1 knapsack, cap=8 -> 36) giles 2026-05-10 04:38:59 +00:00
  • 7a67637826 ocaml: phase 5.1 lcs.ml baseline (LCS of "ABCBDAB" and "BDCAB" = 4) giles 2026-05-10 04:29:58 +00:00
  • 42a506faff ocaml: phase 5.1 dijkstra.ml baseline (5-node SSSP, dist(0,4) = 7) giles 2026-05-10 04:20:47 +00:00
  • df5e36aa5e js-on-sx: number/boolean method dispatch falls back to Number/Boolean.prototype giles 2026-05-10 04:18:20 +00:00
  • 713d506bb8 ocaml: phase 5.1 kmp.ml baseline (5 occurrences of "abab" in haystack) giles 2026-05-10 04:08:53 +00:00
  • bcaa41d1ae ocaml: phase 5.1 union_find.ml baseline (10 nodes, 6 unions, 4 components) giles 2026-05-10 03:59:56 +00:00
  • edbb03e205 ocaml: phase 5.1 quickselect.ml baseline (median of 9 elements = 5) giles 2026-05-10 03:50:59 +00:00
  • 8a06c2d72b js-on-sx: String.prototype.* ToString-coerces non-string this; .call/.apply skip global-coerce for built-ins giles 2026-05-10 03:45:25 +00:00
  • 551ed44f7f ocaml: phase 5.1 array literals [|...|] + lis.ml baseline (LIS = 6) giles 2026-05-10 03:41:19 +00:00
  • 76de0a20f8 ocaml: phase 5.1 josephus.ml baseline (n=50 k=3, survivor at position 11) giles 2026-05-10 03:22:29 +00:00
  • 353dcb67d6 ocaml: phase 5.1 partition_count.ml baseline (p(15) = 176) giles 2026-05-10 03:13:36 +00:00
  • 36e02c906a ocaml: phase 5.1 pythagorean.ml baseline (primitive Pythagorean triples with hyp <= 100 = 16) giles 2026-05-10 03:02:17 +00:00
  • 058dcd5600 js-on-sx: ** / Math.pow spec edges (NaN exp, abs(base)=1+inf), Number.valueOf ignores args giles 2026-05-10 03:01:02 +00:00
  • 5c1b4349aa ocaml: phase 5.1 harshad.ml baseline (count Niven/Harshad numbers <= 100 = 33) giles 2026-05-10 02:46:20 +00:00
  • e23aa9c273 ocaml: phase 5.1 reverse_int.ml baseline (digit-reverse sum = 54329) giles 2026-05-10 02:36:37 +00:00
  • da54c3ea53 ocaml: phase 5.1 bowling.ml baseline (10-pin bowling score, sample game = 167) giles 2026-05-10 02:26:10 +00:00
  • 1a34cc4456 js-on-sx: Number.prototype.toString(radix) avoids rational div-by-zero giles 2026-05-10 02:23:38 +00:00
  • 63901931c4 ocaml: phase 5.1 tail_factorial.ml baseline (12! via tail-recursion = 479001600) giles 2026-05-10 02:05:09 +00:00
  • e77a2d3a81 ocaml: phase 5.1 zerosafe.ml baseline (Option-chained safe division, sum = 28) giles 2026-05-10 01:49:23 +00:00
  • 836e01dbb4 ocaml: phase 5.1 number_words.ml baseline (letter count of 1..19 spelled out = 106) giles 2026-05-10 01:39:25 +00:00
  • fb0e83d3a1 ocaml: phase 5.1 palindrome_sum.ml baseline (sum of 3-digit palindromes = 49500) giles 2026-05-10 01:29:52 +00:00
  • ad897122d7 js-on-sx: array elision, list-instanceof-Array, array toString identity giles 2026-05-10 01:27:33 +00:00
  • 0b79d4d4b4 ocaml: phase 5.1 triangle_div.ml baseline (first triangle with >10 divisors = 120) giles 2026-05-10 01:17:11 +00:00
  • 58ea001f12 ocaml: phase 5.1 perfect.ml baseline (count perfect numbers <= 500 = 3) giles 2026-05-10 01:02:18 +00:00
  • da96a79104 ocaml: phase 5.1 abundant.ml baseline (count abundant numbers < 100 = 21) giles 2026-05-10 00:36:29 +00:00
  • ed8aaf8af7 ocaml: phase 5.1 euler36.ml baseline (sum of double-base palindromes <= 1000 = 1772) giles 2026-05-10 00:26:46 +00:00
  • ce067e32a4 js-on-sx: getOwnPropertyDescriptor skips internal __proto__/__js_order__ giles 2026-05-10 00:13:08 +00:00
  • 37f7405dcf ocaml: phase 5.1 euler40_small.ml baseline (Champernowne digit product = 15) giles 2026-05-10 00:09:57 +00:00
  • 4e6a345342 ocaml: phase 5.1 euler34_small.ml baseline (factorions <= 2000 = 145) giles 2026-05-09 23:50:25 +00:00
  • 25b30788b4 js-on-sx: object literal spread {...src} giles 2026-05-09 23:42:13 +00:00
  • 21dbd195d5 ocaml: phase 5.1 euler29_small.ml baseline (distinct a^b for 2<=a,b<=5 = 15) giles 2026-05-09 23:37:36 +00:00
  • 87f9a84365 ocaml: phase 5.1 euler21_small.ml baseline (sum of amicable numbers <= 300 = 504) giles 2026-05-09 23:27:15 +00:00
  • 46e49dc947 ocaml: phase 5.1 euler30_cube.ml baseline (sum of digit-cube narcissistic numbers <= 999 = 1301) giles 2026-05-09 23:17:00 +00:00
  • f15a8d8fef js-on-sx: Object.getOwnPropertyNames throws on null, adds length for str/arr giles 2026-05-09 23:12:43 +00:00
  • ea7120751d ocaml: phase 5.1 euler28.ml baseline (sum of diagonals in 7x7 spiral = 261) giles 2026-05-09 23:03:06 +00:00
  • 89a807a1ed ocaml: phase 5.1 euler14.ml baseline (longest Collatz under 100, starting n = 97) giles 2026-05-09 22:53:27 +00:00
  • 391a2d0c4f ocaml: phase 5.1 euler16.ml baseline (digit sum of 2^15 = 26) giles 2026-05-09 22:43:45 +00:00
  • b4f7f814be js-on-sx: Object.values/entries throw on null/undefined, walk strings giles 2026-05-09 22:42:24 +00:00
  • 5959989324 ocaml: phase 5.1 euler25.ml baseline (first 12-digit Fibonacci index = 55) giles 2026-05-09 22:31:27 +00:00
  • 320d78a993 ocaml: phase 5.1 euler3.ml baseline (largest prime factor of 13195 = 29) giles 2026-05-09 22:21:16 +00:00
  • dedb82565b js-on-sx: Object.keys throws on null/undefined, walks indices on string/array giles 2026-05-09 22:12:05 +00:00
  • 2a01758f28 ocaml: phase 5.1 euler7.ml baseline (100th prime = 541) giles 2026-05-09 22:11:11 +00:00
  • 533be5b36b ocaml: phase 5.1 euler4_small.ml baseline (largest 2-digit palindrome product = 9009) giles 2026-05-09 21:59:23 +00:00
  • 853504642f ocaml: phase 5.1 euler10.ml baseline (sum of primes <= 100 = 1060, scaled-down PE10) giles 2026-05-09 21:46:16 +00:00
  • 7d575cb1fe js-on-sx: Object.assign ToObjects target, throws on null, walks string sources giles 2026-05-09 21:42:15 +00:00
  • 00ffba9306 ocaml: phase 5.1 euler5.ml baseline (smallest multiple of 1..20 = 232792560) giles 2026-05-09 21:35:59 +00:00
  • cecde8733a ocaml: phase 5.1 partition.ml baseline (stable partition, evens*100 + odds = 3025) giles 2026-05-09 21:26:31 +00:00
  • c16a8f2d53 ocaml: phase 5.1 is_prime.ml baseline (count primes <= 100 = 25) giles 2026-05-09 21:16:40 +00:00
  • 793eccfce2 js-on-sx: Number.prototype methods unwrap Number wrappers, TypeError on non-Number giles 2026-05-09 21:09:56 +00:00
  • d4eb57fa07 ocaml: phase 5.1 catalan.ml baseline (Catalan number C(5) = 42) giles 2026-05-09 21:06:10 +00:00
  • 73917745a0 ocaml: phase 5.1 fizz_classifier.ml baseline (FizzBuzz with polymorphic variants, 1..30 weighted = 540) giles 2026-05-09 20:56:31 +00:00
  • c8206e718a ocaml: phase 5.1 max_product3.ml baseline (max product of 3, with negatives -> 300) giles 2026-05-09 20:46:42 +00:00
  • ada7a147e5 js-on-sx: Array.prototype methods carry spec lengths + names giles 2026-05-09 20:41:10 +00:00
  • 288c0f8c3e ocaml: phase 5.1 euler9.ml baseline (Project Euler #9, abc = 31875000) giles 2026-05-09 20:36:43 +00:00
  • 2c7246e11d ocaml: phase 5.1 euler6.ml baseline (Project Euler #6, sum^2 - sum_sq for 1..100 = 25164150) giles 2026-05-09 20:16:49 +00:00
  • 65f3b6fcc0 js-on-sx: Number/String.prototype methods carry spec lengths + names giles 2026-05-09 20:12:41 +00:00
  • 4840a9f660 ocaml: phase 5.1 euler2.ml baseline (Project Euler #2, even Fib <= 4M = 4613732) giles 2026-05-09 20:05:45 +00:00
  • 53968c2480 ocaml: phase 5.1 euler1.ml baseline (Project Euler #1, multiples of 3 or 5 below 1000 = 233168) giles 2026-05-09 19:56:58 +00:00
  • 3759aad7a6 ocaml: phase 5.1 anagram_groups.ml baseline (group by canonical anagram, 3 groups) giles 2026-05-09 19:47:21 +00:00
  • f256132eb3 js-on-sx: Boolean.prototype.toString/valueOf throw TypeError on non-Boolean giles 2026-05-09 19:41:24 +00:00
  • 14575a9cd7 ocaml: phase 5.1 monotonic.ml baseline (monotonicity check, 4/5 inputs monotonic) giles 2026-05-09 19:37:11 +00:00
  • be13f2daba ocaml: phase 5.1 majority_vote.ml baseline (Boyer-Moore majority, [3;3;4;2;4;4;2;4;4] = 4) giles 2026-05-09 19:27:14 +00:00
  • 810f61a1c1 ocaml: phase 5.1 adler32.ml baseline (Adler-32 of 'Wikipedia' = 300286872 = 0x11E60398) giles 2026-05-09 19:18:01 +00:00
  • d4be87166b js-on-sx: reduce/reduceRight callback receives (acc, cur, idx, array) giles 2026-05-09 19:13:12 +00:00
  • 37a514d566 ocaml: phase 5.1 gray_code.ml baseline (4-bit reflected Gray code, sum+len = 136) giles 2026-05-09 19:08:19 +00:00
  • 7e838bb62b ocaml: phase 5.1 max_run.ml baseline (longest consecutive run, 4+1+0 = 5) giles 2026-05-09 18:58:32 +00:00
  • b2ff367c6b ocaml: phase 5.1 subseq_check.ml baseline (subsequence test, 3/5 yes) giles 2026-05-09 18:49:00 +00:00
  • 0655b942a5 js-on-sx: Array.prototype find/findIndex/some/every honour thisArg + (v,i,arr) giles 2026-05-09 18:42:20 +00:00
  • 17a7a91d73 ocaml: phase 5.1 merge_intervals.ml baseline (LeetCode #56, total length 9+3 = 12) giles 2026-05-09 18:39:46 +00:00
  • df6efeb68e ocaml: phase 5.1 hamming.ml baseline (Hamming distance, 3+2-1 = 4) giles 2026-05-09 18:27:50 +00:00
  • 60e3ce1c96 ocaml: phase 5.1 xor_cipher.ml baseline (XOR roll-key encryption, round-trip = 601) giles 2026-05-09 18:19:02 +00:00
  • eb621240d7 ocaml: phase 5.1 simpson_int.ml baseline (Simpson 1/3 rule, integral_0^1 x^2 -> 10000) giles 2026-05-09 18:09:33 +00:00
  • 1fef6ec94d js-on-sx: Array.prototype forEach/map/filter honour thisArg + pass (v,i,arr) giles 2026-05-09 18:08:33 +00:00
  • e8a0c86de0 ocaml: phase 5.1 int_sqrt.ml baseline (Newton integer sqrt, 12+14+1000+1 = 1027) giles 2026-05-09 17:55:07 +00:00
  • 4eeb7e59b4 ocaml: phase 5.1 grid_paths.ml baseline (count paths in 4x6 grid = 210) giles 2026-05-09 17:45:52 +00:00
  • f1df5b1b72 ocaml: phase 5.1 fib_doubling.ml baseline (Fibonacci by doubling, fib(40) = 102334155) giles 2026-05-09 17:36:24 +00:00
  • 87bf3711c4 js-on-sx: Map/Set.prototype.forEach honour thisArg + pass (v,k,coll) giles 2026-05-09 17:33:29 +00:00
  • 254ef0daff ocaml: phase 5.1 merge_two.ml baseline (merge two sorted lists, length*sum = 441) giles 2026-05-09 17:24:53 +00:00
  • b6e723fc3e ocaml: phase 5.1 pow_mod.ml baseline (modular exponentiation, sum = 738639) giles 2026-05-09 17:15:47 +00:00
  • 2e84492d96 ocaml: phase 5.1 tree_depth.ml baseline (binary tree depth, longest path = 4) giles 2026-05-09 17:06:10 +00:00
  • 8ae7187c55 js-on-sx: for-in walks proto chain with shadowing, stops at native prototypes giles 2026-05-09 17:01:31 +00:00
  • 1bde4e834f ocaml: phase 5.1 stable_unique.ml baseline (Hashtbl dedupe preserving order, 8+38 = 46) giles 2026-05-09 16:56:46 +00:00
  • 554ef48c63 ocaml: phase 5.1 run_decode.ml baseline (RLE decode, expansion sum = 21) giles 2026-05-09 16:47:56 +00:00
  • b7b841821c ocaml: phase 5.1 peano.ml baseline (Peano arithmetic, 5*6 = 30) giles 2026-05-09 16:38:09 +00:00
  • 3d821d1290 js-on-sx: parser accepts labels (drops label) + optional ident on break/continue giles 2026-05-09 16:31:20 +00:00