169 похожих чатов

Камон, ну какие юзкейсы у GADT?

6 ответов

11 просмотров

компиляторы/парсеры)

GADT естественным образом пытаются писать даже люди с месяцем использования F#. Я несколько раз объяснял им почему это не работает. Но понятия не имею почему их не добавили. В тройке ФП фич от Щура она смотрится самой лёгкой. Я видимо чего-то ужасного про GADT не знаю.

gsomix- Автор вопроса
gsomix
Я прошу назвать юзкейсы.

Да блин, какие юзкейсы у методов, в которых можно использовать локальный обобщённый тип? Вот приблизительно такой код вызывает вопросы: type 'a A () = member this.LocalGeneric (b : 'b) : 'a = failwith "NIE" type 'c C = { LocalGeneric : 'd -> 'c } Почему для обычных типов разрешили подобную хрень, а с рекорадми и DU так делать нельзя?

gsomix- Автор вопроса
Klei
Да блин, какие юзкейсы у методов, в которых можно ...

По той же причине, по которой нельзя объявить поле типа 'b -> 'a в классе.

gsomix
По той же причине, по которой нельзя объявить поле...

Эт понятно. Причины в общих чертах мне ясны, но я был бы не против, чтобы мне не приходилось закидывать туда прокси тип ручками или думать, а не сделать ли это иначе. Вообще не хочу об этом думать.

Похожие вопросы

Обсуждают сегодня

подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
11
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Народ, есть возможность объяснить VS Code, что некий lua-модуль стандартный и грузится по умолчанию? Т.е. хост программа добавляет этот модуль наряду с модулями string, debug ...
Sl
9
Добрый день. Абракадабра в 12-й студии ввела новый тип поля БД TSQLTimeStampOffset, использую в постгресе timestampz и вот с 12-й версии начались чудеса! До этого поля times...
Delphi Photo
9
Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта