Esta es una pequeña función de ejemplo que compara dos listas y retorna verdadero si son iguales:
1 let rec compara l1 l2 =Línea 1: Definimos la función compara con dos paremetros l1 y l2, además le indicamos que es una función recursiva (rec).
2 match l1, l2 with
3 | h1 :: t1, h2 :: t2 -> if h1 != h2 then false else compara t1 t2
4 | [], [] -> true
5 | _ -> false
Línea 2: Match es algo parecido al switch del C pero mucho más potente, hacemos un match con las dos listas.
Línea 3: Comparamos si la cabecera de las dos listas (h1 y h2) son diferentes en cuyo caso devolvemos un falso. Si no, llamamos recursivamente la función con la cola de las dos listas (t1, t2).
Línea 4: Si las dos listas han llegado vacias hasta aquí es que son iguales.
Línea 5: Para el resto de casos (el tamaño de las listas es diferente) retornamos falso.
Espero que os haya entrado el gusanillo de mirar más cosas sobre OCaml.