LINUX.ORG.RU

История изменений

Исправление red75prim, (текущая версия) :

Нет, взаимно однозначного нет. Доказывается тривиально:

Повторяю. Множество типов вида (Head1, Tail1), где Tail1 - это (Head2, Tail2) или (), и т.д. имеет взаимно-однозначное соответствие с множеством типов вида (Head1, Head2, …)

Попробуйте ещё раз.

В хаскеле и подобных – да, здесь – нет.

Где здесь? В рас++те? Кто запрещает определить ABI для fn(A, B, C), fn((A, B, C)), и fn((A, (B, (C, ())))) как идентичные?

Исходная версия red75prim, :

Нет, взаимно однозначного нет. Доказывается тривиально:

Повторяю. Тип вида (Head1, Tail1), где Tail1 - это (Head2, Tail2) или (), и т.д. имеет взаимно-однозначное соответствие с множеством типов вида (Head1, Head2, …)

Попробуйте ещё раз.

В хаскеле и подобных – да, здесь – нет.

Где здесь? В рас++те? Кто запрещает определить ABI для fn(A, B, C), fn((A, B, C)), и fn((A, (B, (C, ())))) как идентичные?