Vladislav
https://github.com/dotnet/fsharp/issues/9200
Vladislav
кряк
Hog
Интелисенс для слабых духом
Ayrat
Придется им ещё один Thread.Sleep из кода убрать!!1
Vladislav
Лул
https://github.com/dotnet/fsharp/issues/9201
Ayrat
https://github.com/dotnet/fsharp/issues/9201
Мне интересно райдер так же тормозит?
Vladislav
Хз
Vladimir
да - EF Core
имей ввиду вот этот ишуй https://github.com/dotnet/fsharp/issues/3782
Vladislav
Я не сидел там давно уже
Ilya
Хм, а в райдере подсказки паттерн матчинга сломались, или я слишком много хочу?
Vladislav
https://github.com/dotnet/fsharp/pull/9193
Vladislav
теперь хорошее
Ilya
Мне казалось, что работали, но это не точно.
Hog
имей ввиду вот этот ишуй https://github.com/dotnet/fsharp/issues/3782
Спасибо. Мне вроде там асинк не нужен - оно для простых комманд-лайн экспериментов у меня
Ilya
Да, в VS тоже не работают. Значит, я с сишарпом путаю. Дожили. Там подсказки при паттерн матчинге лучше.
Vladimir
Спасибо. Мне вроде там асинк не нужен - оно для простых комманд-лайн экспериментов у меня
там еще второй ишуй, если у тебя рекорд, то нельзя перепутать очередность полей)
Hog
Я прочитал всё до конца :)
Hog
А онанизмирующие рекорды - можно?
Hog
Заместо туплей-то?
Vladimir
в те годы они еще не анонимировали)
Hog
Я попробую ща
Anonymous
пачиму нельзя новые анонимные DU делать на лету на основе уже существующих. сумма сумм. type AorB = | A | B, type CorD = | C | D и ВНЕЗАПНО let f (x: AorB | CorD) = match по A | B | C | D. или можно но я не знаю как?
Anonymous
Потому что нельзя. В скале 3 и тайп скрипте можно
в Тайпскрипте очень часто этим пользуют и ОЧЕНЬ ДОВОЛЕН111!
Ayrat
То есть два одинаковых по виду объединения могут быть разными
Anonymous
Анонимные Ду оксюморон, так как они по дефинишну должны быть размечены
поясни как для дебила что ты имеешь в виду. по какому дефинишину?
Ayrat
То есть int | int != Int | int
Ayrat
Если мы говорим про ДУ
Ayrat
Это только юнион типы так работают
Anonymous
То есть int | int != Int | int
вот это не пониманию из чего следует. видимо тут что-то вроде int != Int ==> int | Int != int | int?
Ayrat
(которых у нас нет)
Ayrat
Anonymous
тогда int | int != int | int нарушает рефлексивно, т.к. \forall x: x = x. я тебя наверно нипанимаю. но суть в том, что я хочу как в TS: просто на ходу лепить AorB | CorD и объявлять все это явно.
Ayrat
Короче, вот смотри type UserIdOrError = | UserId of int | Error of code type Response = | Value of int | HttpStatusCode of int
Ayrat
Тут 2 Ду, 4 инта
Anonymous
угу
Anonymous
вижу
Anonymous
и?
Ayrat
В юнион типах (int|int) | (int|int) === int
Ayrat
В размеченных объединениях (int|int) | (int|int) === int|int|int|int
Ayrat
Так, поправил
Anonymous
да. но тут же другое множество будет по определению. условно { (1, UserId of int), (2, Error of code), (3, Value of int), (4, HttpStatusCode of int) }.
Hog
в те годы они еще не анонимировали)
Анонимные внутри query CE говном кидаются в рантайме
Anonymous
это не эквивалентно int | int | int | int
Ayrat
это не эквивалентно int | int | int | int
Да, я теги скипнул, писать долго
Ayrat
У нас даже синтаксиса такого нет
Anonymous
Да, я теги скипнул, писать долго
так епта!11 что в моем, что в твоем примере все работает. что за консерн тогда?? (x + y) + (b + c) = x + y + b + c. ВСЕ СОШЛОСЬ, ЭВРИКА!!!1
Ayrat
Только | TagName of type
Anonymous
У нас даже синтаксиса такого нет
а, это уже другое! недоработка!!1 надо арбайтен, шнеля-шнеля. полезная фича же!
Vasily
Кому полезная?
Vladislav
тут дактайпинг хотят или что
Anonymous
Кому полезная?
ну меньше именованных обобщений будут там, где они нужны для 1-2 функций и все.
Anonymous
меньше букаф при той же самантике
Vasily
Ох бля
Anonymous
без потери в читаемости
Vasily
Откуда вы берётесь
Vasily
Такие
Ilya
Семантика не та же ведь.
Anonymous
/me не понимает
Ayrat
Я ж тебе выше показал почему
Anonymous
type AorBorCorD = | A | B | C | D
Ayrat
В юнион типах (int|int) | (int|int) === int
Ayrat
В размеченных объединениях (int|int) | (int|int) === int|int|int|int
Anonymous
в чем не то же самое-то? эквивалентно ведь.
Ayrat
в чем не то же самое-то? эквивалентно ведь.
А если у тебя юнион два одинаковых типа объединяет?
Ayrat
Допустим в двух ДУ один и тот же кейс есть
Anonymous
А если у тебя юнион два одинаковых типа объединяет?
A + B = {выбери_любой_маркер} X A \union {выбери_любой_другой_маркер} X B
Anonymous
by definition
Hog
Допустим в двух ДУ один и тот же кейс есть
это всё те же грабли, когда Error из резалта нельзя взять и прокинуть да?
Anonymous
A = A | B; A + A = { (1, A), (2, A), (3, B), (4, B) }
Vladimir
Анонимные внутри query CE говном кидаются в рантайме
слуш, говорят там рекорды по имени отсортированы, попробуй их кверить отсортированными по имени)