Смешивание сопоставления шаблона и карри в OCAML

в SML, это распространено и легко определить функцию с использованием как сопоставления в карри и шаблоне. Вот простой пример:

fun zip [] _ = []
  | zip _ [] = []
  | zip (x::xs) (y::ys) = (x,y)::(zip xs ys)

Игнорирование функций библиотеки, какой лучший способ портировать это в Ocaml? Насколько я могу сказать, нет простого способа объявить функцию с использованием как в Carrying, так и в шаблоне.

9
задан James Koppel 11 September 2011 в 02:03
поделиться