The keyword function
can be used to initiate pattern-matching on the the last argument of a function. For example, we can write a function called sum
, which computes the sum of a list of integers, this way
let rec sum = function
| [] -> 0
| h::t -> h + sum t
;;
val sum : int list -> int = <fun>