Ayrat
Не кор
Dr. Friedrich
Хм
Ayrat
Это известная проблема
https://stackoverflow.com/questions/52513878/jetbrains-dotmemory-unable-to-import-the-dump-64-bit-dumps-of-32-bit-processes
Ayrat
Снимать дампы 32 битным процессом не вариант
Ayrat
В моём случае
Dr. Friedrich
Содомия какая-то
Ayrat
Да. Очень странное ограничение
Romɑn
Viacheslav
Egor
Просто я с GPL не знаком и на сколько я помню там все открытое должно быть
Egor
Поэтому решил спросить у людей поумнее
Фил Ранжин
гайз, нужен какой-нибудь дельный кейс, где вы очень хотели что-то статически типизировать в F#, но не шмогли
Doge
Ayrat
Фил Ранжин
Doge
Doge
Сюда же и type families
Фил Ранжин
дуррацкие умные разработчики
Ayrat
Ну в целом, на тайп провайдерах можно даже линейные типы изобразить.
Фил Ранжин
я не понимаю о чем вы
Ayrat
Но это будет пиздец
Фил Ранжин
Doge
Можно было бы жить
Ayrat
Ayrat
Мне тут кстати предлагают на скале пописать.
x
давно пора, чо
Фил Ранжин
с дурной компанией связался
x
мне на go предлагают, пока держусь
Ayrat
Надо подумать.
Фил Ранжин
на го писать после F#, это как после Киры найтли на жирухе жениться
Ayrat
x
Фил Ранжин
так и го кому-то нравится
Фил Ранжин
на го ж в основном с пыхи мигрируют
Фил Ранжин
ясен хуй он им нравится
Ayrat
Короче, я вот давно хотел в языке настоящие юнион типы, как в тс, но лучше.
@fillpackart
Ayrat
А их нет.
Фил Ранжин
Vladislav
Фил Ранжин
я в тс всегда делаю юниона как в F#
Ayrat
Это например string | int тип был подтипом string | int | guid
Фил Ранжин
т.е. не
type a = b | c
а
type a = { caseB: b } | { caseC: c }
Фил Ранжин
Ayrat
У нас только размеченные объединения, а надо ещё не размеченные, и чтобы они верно оценивали свои над и подмножества
Фил Ранжин
эти унионы тебя обманут, если будешь юзать мутабельные переменные
Ayrat
Фил Ранжин
хотим написать об этом, но не можем придумать применения
Ayrat
Линейные типы ещё. Типа как бороу чекер в расте
Ayrat
Но повыше уровнем
Фил Ранжин
это что7
Ayrat
В расте он там для своих целей чекает - чтобы ссылки со стека не утекали и пр
Doge
Ayrat
это что7
Это когда в тип зашита инфа о количестве его возможных использований
Фил Ранжин
Ayrat
Обычно делают 1 и бесконечно. Более сложные системы могут чекать любое значение использований
Фил Ранжин
Ayrat
Например вернул переменную из функции и можешь к ней обратиться ровно раз. Или передать в другую функцию. После первого раза ссылка невалидна в статике
Фил Ранжин
Фил Ранжин
если значения этого типа всегда иммутабельные - есть шанс, что такое можно описать тайпскриптом, но это не точно
Фил Ранжин
@omgszer , иммутабельно - считается?
Фил Ранжин
окей, спасибо. Хороший кейс
Doge
не шарю за термины. Прояснишь?
Зависимая пара - это пара, такая что тип второго элемента зависит от значения первого.
Зависимая фукнция - это функция, такая что тип возвращаемого значения зависит от значения аргумента.
Фил Ранжин
Фил Ранжин
мы делали
Фил Ранжин
для тс прям изи
Фил Ранжин
const fn = <T>(a: T, b: <SomeType<T>>)
Фил Ранжин
тип б же должен зависеть от типа a
Фил Ранжин
?
Фил Ранжин
т.е. если ты имеешь ввиду всякие отображения, типа там
если а - string, то b-number
если а - object, то b-bool
то это может быть вшито в SomeType
Фил Ранжин
если кто-то из нас что-то не понимает, придумай конкретную задачу на фн, я попробую написать
Фил Ранжин
да, в моём примере так и есть. Тебя смущает дженерик
Фил Ранжин
хотя подожди
Фил Ранжин
вроде понял