type t1 = A of int * string
и type t2 = A of (int * string)
, они разные или одинаковые?В чем разница между этими двумя определениями типов в OCaml
В этом functional programming tutorial, слайд 6, он говорит
В OCaml, варианты взять несколько аргументов, а не принимать кортежи в качестве аргументов: ИНТ * струны ди Ф.Ф. различны, чем А (INT * строка). Но это не важно, если вы его не укусили.
Но я не вижу никакой разницы, кроме пары скобок.
Это два разных типа. Об этом спрашивали и много раз отвечали на SO. Вот примеры: http://stackoverflow.com/questions/14818866/int-int-vs-int-int-in-ocaml-sum-type/14819463#14819463 http://stackoverflow.com/questions/10306733/ocaml -constructor-распаковка/10306865 # 10306865 –