ocaml: phase 5.1 lru_cache.ml baseline (cap=3 LRU, fingerprint 499)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
Functional LRU cache via association-list ordered most-recent-first. Get / put both: - find or remove the existing entry - cons the fresh (k, v) to the front - on put, trim the tail when over capacity Sequence: put 1 100; put 2 200; put 3 300 a = get 1 -> 100 (moves 1 to front) put 4 400 (evicts 2) b = get 2 -> -1 (no longer cached) c = get 3 -> 300 d = get 1 -> 100 a + b + c + d = 499 Tests `match … with (k', v) :: rest when k' = k -> …` tuple-cons patterns with `when` guards, `function` keyword for arg-less match, recursive find/remove/take over the same list. Parser limit found: `match n, lst with` ad-hoc tuple-scrutinee is not yet supported (got "expected op -> got op ,"); workaround uses outer `if` plus inner match. 171 baseline programs total.
This commit is contained in:
@@ -82,6 +82,7 @@
|
||||
"floyd_warshall.ml": 9,
|
||||
"lis.ml": 6,
|
||||
"list_ops.ml": 30,
|
||||
"lru_cache.ml": 499,
|
||||
"luhn.ml": 2,
|
||||
"magic_square.ml": 65,
|
||||
"mat_mul.ml": 621,
|
||||
|
||||
Reference in New Issue
Block a user