Кортежи имеют «,» и варианты имеют Ctor args ..это конструкторы, они создают вещи.
Образцы являются деструкторами, они разрывают их на части.
Это двойные понятия.
Чтобы сделать это более убедительно: понятие кортежа или варианта не может быть описано просто его конструктором: требуется деструктор или сделанное вами значение бесполезно. Именно эти двойные описания определяют значение.
Как правило, мы рассматриваем конструкторы как данные, а деструкторы - как поток управления. Деструкторы вариантов - это альтернативные ветви (один из многих), деструкторы кортежей - параллельные потоки (все из них).
параллелизм проявляется в операциях как
(f * g) . (h * k) = (f . h * g . k)
если вы думаете управления, протекающего через функцию, кортежи обеспечивают способ разделить вычисление на параллельные нити управления.
Посмотрите, таким образом, выражения - это способы составления кортежей и вариантов для создания сложных структур данных (подумайте об AST).
И шаблонные матчи - это способы составления деструкторов (опять же, подумайте об АСТ).
"experiential". Хорошее слово. :-) – 2011-02-22 09:41:52