Files
rose-ash/lib/ocaml/baseline/word_count.ml
giles dbe3c6c203
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 29s
ocaml: phase 5.1 word_count.ml baseline (10/10 pass)
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.
2026-05-08 16:11:03 +00:00

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