Metaphone is an implementation of Lawrence Philips' Double Metaphone phonetic algorithm in OCaml. In fact it's just a very thin set of bindings around the original C++ implementation (with some bug fixes).
metaphone-1.0.tar.gz (7.3K)
Example program:
open Printf
open Metaphone
let names = [ "Jones"; "Chatfield"; "Spenceley" ];;
List.iter (
fun name ->
let s1, s2 = metaphone name in
printf "%s -> %s" name s1;
match s2 with
| None -> printf "\n"
| Some s2 -> printf ", %s\n" s2
) names
Example output:
Jones -> JNS, ANS Chatfield -> XTFL Spenceley -> SPNS
effective marketing for the web
Merjis specialises in innovative marketing,
accessibility, search engine optimisation (SEO),
and development for the web.