История изменений
Исправление wandrien, (текущая версия) :
Шаблоны это эрзац мета-классов и мета-функций. Логично было бы ввести мета-параметры, однозначно отличимые от обычных переменных. Например, тем же префиксом из символа.
На мой взгляд, чисто из общих соображений, даже маркировать отдельно не нужно. Необходимость маркировать, где у нас что, связана с особенностями наследия Си и его всратого синтаксиса.
Берём выражение в вакууме:
f(x)(y)(z)
Какая разница парсеру, что тут что? Он дерево построит однозначным образом. А потом уже на этапе вывода типов, компилятор решит, имеет это выражение смысл, или является ошибочным.
Правда веселее становится, если у нас есть неявные шаблоны. Когда написано foo
, но подразумевается foo<сам догадайся>
.
Исправление wandrien, :
Шаблоны это эрзац мета-классов и мета-функций. Логично было бы ввести мета-параметры, однозначно отличимые от обычных переменных. Например, тем же префиксом из символа.
На мой взгляд, чисто из общих соображений, даже маркировать отдельно не нужно. Необходимость маркировать, где у нас что, связана с особенностями наследия Си и его всратого синтаксиса.
Берём выражение в вакууме:
f(x)(y)(z)
Какая разница парсеру, что тут что? Он дерево построит однозначным образом. А потом уже на этапе вывода типов, компилятор решит, имеет это выражение смысл, или является ошибочным.
Правда веселее становится, если у нас есть неявные шаблоны. Когда написано foo
, подразумевается foo<сам догадайся>
.
Исходная версия wandrien, :
Шаблоны это эрзац мета-классов и мета-функций. Логично было бы ввести мета-параметры, однозначно отличимые от обычных переменных. Например, тем же префиксом из символа.
На мой взгляд, чисто из общих соображений, даже маркировать отдельно не нужно. Необходимость маркировать, где у нас что, связана с особенностями наследия Си и его всратого синтаксиса.
Берём выражение в вакууме:
f(x)(y)(z)
Какая разница парсеру, что тут что? Он дерево построит однозначным образом. А потом уже на этапе вывода типов, компилятор решит, имеет это выражение смысл, или является ошибочным.