Si potrebbe pattern-match contro molteplici argomenti di una funzione con la creazione di una tupla e poi destrutturazione in un match espressione:In OCaml, qual è il modo canonico di corrispondenza con più argomenti di una funzione?
let f x y =
match x, y with
| pattern1 -> expr1
| ...
In alternativa, se non avete bisogno di una funzione al curry, si potrebbe fare questo rendendo f
prendere una tupla come unico argomento:
let f (x, y) = function
| pattern1 -> expr1
| ...
il vantaggio di quest'ultimo metodo è che non c'è bisogno di scrivere gli argomenti due volte ogni volta che si definisce una funzione. Ma le funzioni che prendono una tupla sembrano non essere così popolari di quelle al curry.
Quindi quale dei due è considerato canonico, o preferito, nella comunità OCaml?
MODIFICA: proprio come il pad indicato di seguito, intendo let f = function blah blah
nel secondo frammento di codice.