мультиресиверы.
Зочем нужны так сильно литералы коллекций?
Что бы в константы их сохранять 🤔
это мы ждём const expr
а зачем нужны const expr?
Лучше уж «extended string template literal expressions»
Тогда ты сможешь эти константы в атрибуты передавать
просто по привычке, больше низачем. Они и в аннотациях не очень-то помогают (потому что большинство аннотаций не нужны)
а, нужно просто захардкодить, что arrayOf — const-функция. Такое же уже есть для String.trimMargin()
кстати, речь про литералы коллекций, а не массивов ;)
Для диэсэлей, типа того же джейсона.
Так себе оно работает. Я в мультике посмотрел. Шило на мыло
Не вижу особых бенефитов от того, что вместо jsonObject( в одном месте и вместо hashMapOf( в другом можно будет написать условный @{. Или я чего-то глубинного не понимаю?
А представь тебе надо трехмерную матрицу задать. Три вложения arrayOf выглядят хуже трёх [].
Ну вот было бы клёво, если бы это работало не только для трёх захардкоженных функций. Собсна, даже вне аннотаций это полезно. Мне понравилась идея Романа же о компайл-тайм интроспекции, при которой ты пишешь обычный код с рефлексией, но если компилятор имеет в процессе трансляции достаточно информации, он подменяет тебе рантайм вызовы статическими данными. Вообще, чем больше в языке средств что-то сделать в кт, тем лучше, как по мне. Конечно, важно, как это делать, иначе получится Александреску-стайл, но тут я целиком доверяю команде языка.
Ну, наверное. Я не уверен, что это лично для меня проходит критерий со стартовыми -100 поинтами, но ладно.
так компайл-тайм-интроспекция — это прекрасно, но для этого компилятор сам должен повыводить датафлоу сотен функций, иначе не взлетит
Да, ты прав, изначально ишуя на джире была именно о явной разметке констэкспров, как, собсна, в крестах. Это уже я фантазирую не туда.
явно в данном случае лучше, как мне кажется, что-то типа tailrec, чтобы убедиться, что оно посчитается в компайл тайме
Обсуждают сегодня