У меня есть несколько мест в моем коде, которые выглядят следующим образом:OCaml карта на кортеж
let (a,b,c) = (f "a", f "b", f "c")
Было бы хорошо, если я могу написать что-то вроде:
let (a,b,c) = map f ("a", "b", "c")
Если есть способ сделать что-то подобное в OCaml?
Будут ли ваши 'a',' b' и 'c' всегда иметь один и тот же тип? Является ли ваш 'f' всегда предназначаемым для распределения по упорядоченной тройке того же типа? – Shredderroy
Система типа OCaml не поддерживает массивы определенной длины или однородные кортежи, параметризованные их длиной. Если бы у нас были такие, тогда у вас могла бы быть одна функция отображения типа '('a ->' b) -> ('a,) array -> (' b, ) array' –