Итак, я смотрел на следующий бит кода
let rec zip list list' =
match list, list' with
| [], _ -> []
| _, [] -> []
| h::t, h'::t' -> (h, h')::(zip t t')
когда я заметил, что это не синтаксическая ошибка для замены
match list, list' with
от
match list list' with
единственная показанная ошибка
This expression was expected to have type
'a -> 'b list * 'c list
but here has type
'b list
на zip t t'
(более t
).
Мой вопрос: есть ли смысл вообще иметь match list list' with
вместо match list list' with
. Не должны ли цели сопоставления с образцом всегда быть разделены запятыми?