Size: a a a

Чат подкаста «Разбор Полётов»

2019 October 13

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Паша Финкельштейн
Разве это не про шейплес?
Да вроде просто имплиситы пока описал. Тип не сошёлся - ищем неявное преобразование.
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Подожди, но это же тип, которого не существует в коде
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Причём "присвоено А" является подтипом всех типов, в которых присвоено что-то кроме А
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Потому что порядок присвоения должен быть любым конечно
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Мало ли какая у меня там логика - может у меня функция распределения товаров по стеллажам зависит от количества этажей
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Anton Arhipov
Да чёт вряд-ли. Мне кажется, это стереотипы. Я чутка баловался скалой и ну не могу сказать что там какой то безумный порог. Всё так же как в котлине
Скажем так. С Котлином я спать спокойнее буду 😂😂😂
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Виктор Вербицкий
Скажем так. С Котлином я спать спокойнее буду 😂😂😂
Это хороший аргумент :)
источник

ПФ

Паша Финкельштейн in Чат подкаста «Разбор Полётов»
Шо я могу сказать за dsl в скале: при джойне датасетов ты условие джойна описываешь по сути строками, которые не проверяются на этапе компиляции )))
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Anton Arhipov
Ну то есть если откинуть все скаловые навороты от фп, вот что мешает на ней делать дсли? По сравнению с котлином?
Ну и я, конечно, не скалолаз, но есть пара вещей в наших дслях, которые я больше ни на одном яп такого не представляю как реализовать.
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Anton Arhipov
Ну то есть если откинуть все скаловые навороты от фп, вот что мешает на ней делать дсли? По сравнению с котлином?
Ну и если откинуть, то тогда зачем брать? Котлин достаточен
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Виктор Вербицкий
Ну и если откинуть, то тогда зачем брать? Котлин достаточен
Зависит, какой конечный результат
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Виктор Вербицкий
Ну и я, конечно, не скалолаз, но есть пара вещей в наших дслях, которые я больше ни на одном яп такого не представляю как реализовать.
Не, на Скале скорее всего вы сможете сделать любые изощрения (кроме возможно аналогов неявному it в лямбдах Котлина, но в этом я тоже не уверен). Но некоторые вещи будут чуть менее приятными пока что (хотя можно делать DSL на Dotty :D)
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Как мы выше дискутировали, для меня в дсл-ях есть два требования, идеал которых пока вроде нигде не достижим

1) безупречная красота без лишних точек
2) безопасность на этапе компеляции, т.е. если какой то атрибут не присвоен, то не должно компилироваться. Если значение не отвечает контракту, тоже не должно компилироваться


Красивым я считаю дсл в такой форме:

block {
 attr1 = ...
 attr2 = ...
}

И где не надо писать точки
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Anton Arhipov
Зависит, какой конечный результат
Мне сейчас сложно на пальцах объяснить. Я уже полгода пинаю товарищей, чтобы описали свой опыт для широких масс. Там реально такой Котлин, какого я больше нигде не видел.
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Виктор Вербицкий
Мне сейчас сложно на пальцах объяснить. Я уже полгода пинаю товарищей, чтобы описали свой опыт для широких масс. Там реально такой Котлин, какого я больше нигде не видел.
Было бы очень интересно, да
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Anton Arhipov
Как мы выше дискутировали, для меня в дсл-ях есть два требования, идеал которых пока вроде нигде не достижим

1) безупречная красота без лишних точек
2) безопасность на этапе компеляции, т.е. если какой то атрибут не присвоен, то не должно компилироваться. Если значение не отвечает контракту, тоже не должно компилироваться


Красивым я считаю дсл в такой форме:

block {
 attr1 = ...
 attr2 = ...
}

И где не надо писать точки
Ну вот второе я х.з.... Спорно.
А про первое...
Скажем так. Допустим есть массив бинов определённого типа. И их надо отобразить на гриде в интерфейсе. Интерфейс описывается дслем.
И вот можно сделать так, чтобы можно было описать колонки грида только для существующих пропертей бина. И при любой попытке нарушения этого требования - ошибка компиляции.
Ну и плюс ide помогает это писать с автокомплитами и т.п...
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Блин. Ну сложно на пальцах...
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Виктор Вербицкий
Ну вот второе я х.з.... Спорно.
А про первое...
Скажем так. Допустим есть массив бинов определённого типа. И их надо отобразить на гриде в интерфейсе. Интерфейс описывается дслем.
И вот можно сделать так, чтобы можно было описать колонки грида только для существующих пропертей бина. И при любой попытке нарушения этого требования - ошибка компиляции.
Ну и плюс ide помогает это писать с автокомплитами и т.п...
Что спорно то? Представляешь как круто - даёшь свой дсл кому нибудь, и человек может им безопасно пользоваться
источник

ВВ

Виктор Вербицкий in Чат подкаста «Разбор Полётов»
Anton Arhipov
Что спорно то? Представляешь как круто - даёшь свой дсл кому нибудь, и человек может им безопасно пользоваться
Это и у нас требование номер один.
Просто меня смущает требование обязательного присвоения. Что-то тут в консерватории не так...
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Виктор Вербицкий
Это и у нас требование номер один.
Просто меня смущает требование обязательного присвоения. Что-то тут в консерватории не так...
например , у тебя в блоке описывается набор свойств для конфигурации,  допустим какое то свойство обязательно - айди какой нибудь. Бац - забыл написать его. В рантайме узнаешь, что всё плохо. Может быть
источник