Ilya
да я без руля честно говоря)
Ilya
Кажется, по ПДД так нельзя.
Ilya
Кстати, а где возмущение фшарпистов по поводу долго едущих в релиз стейт машин? В пронете почему-то постоянно DU вспоминают.
Anonymous
Там в Эрланга OTP 24 вышел с кучей всего нового, в том числе с jit
AlexB
Всё равно дохуя! Извините
нолог 52% же. Надо много зарабатывать, чтобы ещё больше отдавать 😭
Hog
нолог 52% же. Надо много зарабатывать, чтобы ещё больше отдавать 😭
Мне ли этого не знать! 😭 налог у нас правда поменьше слегка. Но дерьмократы ещё не сильно развернулись
Ayrat
это вам не рекорды запилить
Ilya
это вам не рекорды запилить
Нууу, рекорды не проще запилить. Надо додуматься до наследования, например)
Ilya
И DU тоже нельзя так просто в сишарп пихать, наверное.
Hog
Колорадо?
Что? Где? Когда?
Ilya
К счастью, в джаве уже придумали синтаксис DU. Можно оттуда брать.
Ayrat
И DU тоже нельзя так просто в сишарп пихать, наверное.
конечно, мир же рухнет от НОВОГО синтаксиса для простой как полено вещи
Ayrat
то есть это вам не это
Ilya
Он в сишарпе вообще чужеродно будет смотреться.
Ayrat
Я бы не хотел синтаксис ду из фшарпа тащить, да.
пащиму, он в фшарпе очень даже лаконичный
Ilya
Лаконично - да. С этим не спорю.
Ayrat
ну то есть надо просто придумать как будет выглядеть этот синтаксис
Ayrat
ну там super enum { String case1 Int case2 (String, Int) case3 case4 }
Ayrat
всё, хуярим в прод
Ilya
Ни разу не сишарп)
Ayrat
да чо не сишарп-то
Ayrat
даже типы перед именем!
Ayrat
и enum!
Ayrat
что тебе еще надо окаянный
IdiocyAcceptance
Я бы не хотел синтаксис ду из фшарпа тащить, да.
Мне синтаксис норм, но я бы хотел чтобы с конкретными кейсами можно было полноценно работать
Ilya
sealed interface Shape { record Circle(Point center, int radius) implements Shape { } record Rectangle(Point lowerLeft, Point upperRight) implements Shape { } } А вот это уже ближе
IdiocyAcceptance
Условно, если у тебя DU | A | B | C, то чтобы было можно полноценно делать функции, принимающие B
IdiocyAcceptance
А не матчить каждый раз на составляющие
Ayrat
скала уже шагнула вперёд и ввела нормальный синтаксис
Ilya
Оно прям вот так выглядит.
Ayrat
Это из джавы.
я говорю о том что опыт вокруг говорит что люди захотят НОРМАЛЬНЫЙ синтаксис со временм
Ayrat
а не ебаться с бойлерплейтом
Ayrat
то есть силед трейты в скале3 сделали ок
Ayrat
в котлине планируют
Ilya
Ну ты пытаешься ML притащить в сишарп.
Ayrat
Ну ты пытаешься ML притащить в сишарп.
да нет, в сишарпе уже есть enum
Ayrat
там кейсы через запятую объявляются
Ayrat
какой тут ML
IdiocyAcceptance
Ну, enum вообще не то же
IdiocyAcceptance
Они диаметрально противоположны с DU
Ayrat
вот дайте мне возможность указывать ТИП кейса и вот оно ДУ
Vasily
Ввели бы слово union
IdiocyAcceptance
Там есть пропозал на кастомные енумы
Vasily
И не ебали бы мозг
Mikhαil
Они диаметрально противоположны с DU
В чем их диаметральная противоположность?
Hog
IdiocyAcceptance
Enum - константные значения под шилдиком одного конкретного типа
Vasily
public union X { String A, int B}
IdiocyAcceptance
DU - рантайм значения со строгим матчингом, имющие вообще разные типы и значения
Vasily
Брекин ченж
Где там брейкинг?
Ayrat
слёт архитекторов сишарпа объявляется открытым
Hog
Где там брейкинг?
Новое ключевое слово
Vasily
Как это ломает старый код?
Hog
У тебя есть переменная юнион?
Ilya
А ещё надо бы разрешить интерфейсы реализовывать.
Mikhαil
DU - рантайм значения со строгим матчингом, имющие вообще разные типы и значения
Так а где тут диаметральная противоположность? Ты про реализацию говоришь А так то енум это множество ИЛИ (если мы про битовые маски не говорим)
IdiocyAcceptance
Ты же не теоретический енум используешь, а вот конкретный
IdiocyAcceptance
Так же и с ДУ
Vasily
У тебя есть переменная юнион?
Я думаю, вероятность подобной шляпы очень мала
Vasily
Это как с инит пропертями
Ilya
А ещё надо бы разрешить интерфейсы реализовывать.
И заодно дефолтные реализации интерфейсов заюзать!
Ilya
Вот теперь точно в прод.
Mikhαil
Так же и с ДУ
Так и? Как детали реализации должны влиять на синтаксис? Природа енума не диаметрально противоположна дю
IdiocyAcceptance
Как минимум потому что Enum имеет один строгий тип
IdiocyAcceptance
А DU имеет сколько угодно
IdiocyAcceptance
Это уже означает что синтаксис должен быть разным
IdiocyAcceptance
И 2) синтаксис - это и есть реализация