Новые трюки в мире макросов

Jul 12, 2013 19:20

1) Структурные типы без издержек на рефлексию: http://meta.plasm.us/posts/2013/07/12/vampire-methods-for-structural-types/
2) Тайп провайдеры на деф-макросах: macros, scala

Leave a comment

Comments 3

ex_juan_gan July 12 2013, 17:41:56 UTC
Чисто косметически, мне такая система наименований не нравится.

Есть абстрактное понятие "сделатьСтаф"; единственное его определение ссылается на "сделатьСтафImpl" - подразумевая, что имплементация может быть только одна. Так какой смысл сообщать, что, мол, это абстракция, а это её имплементация? Это же совсем другое. Вот этот вот языковая конструкция, которую вы, юзера, вставляете в свой код, а вот это вот собственно код, который работает. Я не думаю, что употреблять понятие "имплементация" здесь вообще уместно. Или?

Reply

xeno_by July 12 2013, 17:48:01 UTC
"Имплементация" это из спеки: macro definitions и macro implementations. А соответствующая система наименования настолько приелась, что я уже и не думаю про нее - просто пальцы вбивают и поехали, поэтому спасибо за свежий взгляд. Что бы вы предложили в данной ситуации?

В примере из твита, кстати, хорошо, что дефы и имплы лежат по разным классам. Зачастую и деф, и импл объявляются в одном и том же классе, поэтому их одинаково не назовешь :(

Reply

ex_juan_gan July 12 2013, 20:00:09 UTC
Да я пока не придумал. Но если к одному определению только одна имплементация, то это не определение, а пойнтер. По-моему.

Reply


Leave a comment