Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 29s
Uses Map.Make(StrOrd) + List.fold_left to count word frequencies;
exercises the full functor pipeline with a real-world idiom:
let inc_count m word =
match StrMap.find_opt word m with
| None -> StrMap.add word 1 m
| Some n -> StrMap.add word (n + 1) m
let count words = List.fold_left inc_count StrMap.empty words
10/10 baseline programs pass.
15 lines
457 B
OCaml
15 lines
457 B
OCaml
(* Baseline: word-frequency map over a list using Map.Make + List.fold_left *)
|
|
module StrOrd = struct let compare a b = compare a b end ;;
|
|
module StrMap = Map.Make(StrOrd) ;;
|
|
|
|
let inc_count m word =
|
|
match StrMap.find_opt word m with
|
|
| None -> StrMap.add word 1 m
|
|
| Some n -> StrMap.add word (n + 1) m
|
|
;;
|
|
|
|
let count words = List.fold_left inc_count StrMap.empty words ;;
|
|
|
|
let m = count ["the"; "fox"; "the"; "dog"; "the"; "fox"] ;;
|
|
StrMap.find "the" m
|