Как новые теги типов Scala улучшают (устаревшие) манифесты?

Возможный дубликат:
Scala 2.10: что такое TypeTag и как его использовать?

Я читал о новых тегах TypeTags, которые поставляются вместе с новым api отражения. Кажется, что манифесты должны быть заменены этой новой концепцией. Может ли кто-нибудь опубликовать несколько примеров кода, чтобы показать преимущества?

Некоторые ссылки:


person jeslg    schedule 09.05.2012    source источник
comment
Это интересный материал, но больше относится к списку рассылки в его нынешней формулировке. По крайней мере, добавьте несколько ссылок на то, что вы читали.   -  person Travis Brown    schedule 09.05.2012
comment
Это мой первый вопрос в StackOverflow, так что вы можете сказать мне, почему, по вашему мнению, он не подходит в данном контексте?   -  person jeslg    schedule 09.05.2012
comment
Я добавил ссылки. Спасибо!   -  person jeslg    schedule 09.05.2012


Ответы (1)


Проявления - это ложь. Он не знает дисперсии (предполагается, что все параметры типа являются ко-вариантами), и он не поддерживает зависимые от пути, экзистенциальные или структурные типы.

TypeTags - это типы, в том виде, в каком их понимает компилятор. Не «как» их понимает компилятор, а «как» их понимает компилятор - сам компилятор использует теги TypeTags. Это не один к одному, а просто 1. :-)

person Daniel C. Sobral    schedule 09.05.2012
comment
Я думаю, это хороший способ увидеть это. - person jeslg; 10.05.2012
comment
Это объяснение стало намного более понятным после понимания манифестов. - person Grogs; 14.11.2012
comment
На самом деле, это даже хуже. Manifest - это даже не экспоненциальный функтор. Это имеет довольно серьезные последствия для API-интерфейсов, которые его используют, в той степени, в которой его нельзя использовать. - person Tony Morris; 03.01.2013
comment
@TonyMorris - Каковы последствия того, что Manifest не является экспоненциальным функтором? Признаюсь, я даже не знаю, что это такое. Благодарность - person Kevin Meredith; 21.02.2015
comment
@KevinMeredith Я предполагаю, что это означает, что манифесты не могут представлять все типы для любого заданного параметра типа. - person Brian Gordon; 23.05.2015