
Roman
18.06.2018
23:05:53
А нужен? :)
А сейчас есть тутор под нет кор и новый сдк где-то?
Сдк провайдеров типов, в плане
В смысле, если нужен - возможно, напишу

Sergey
19.06.2018
04:46:30
А сейчас есть тутор под нет кор и новый сдк где-то?
SDK прям сильно не поменялся, точнее поменялся а потом вернули так как было =)
т.е. с точки зрения TP SDK изменения митинимальны.
как и раньше два варианта, тибо все в одной сборке либо отделять disign time сборки.
самый важный момент это подсказать где искать FSC используя fsc.props,
и если собираетесь под моно и надо компилить под net45 то надо подсказывать где моно через netfx.props (это для всех проектов что компилятся в net45, не только ТР)
есть изменения в том как паковать TP NuGet пакеты если делаем TP которые работает везде
ну и .NET SDK 2.1.100 надо или выше, я бы брал .NET SDK 2.1.300 уже сразу
все эти особенности достаточно хорошо описаны вот тут
https://github.com/fsprojects/FSharp.TypeProviders.SDK
на самом деле, если делать просто ТР в одну сборку и код компилится под netstandard2.0 вроде как не должно быть особо проблем

Ayrat
19.06.2018
10:22:20
вот да. меня тоже заебали постоянно на разных митапах вопросами - а вот зачем вы используете F#?
Программирую я на нём, блин. Решаю задачи для бизнеса.
А все ожидают ответов - "AI, данные и финансы" чтобы успокоить самих себя - "ну, мы этим не занимаемся, буду дальше на C# простыни рисовать"

Friedrich
20.06.2018
07:19:52
Потому что это автоматические тесты. А ты, я так понял, спрашивал про ручные, типа.

Evgeniy
20.06.2018
11:28:40
Угу, это старый доклад. Но новая версия длиннее, кажется. :)
Перенесу из флудилки.
Там вон хороший вопрос на SO задали
https://stackoverflow.com/questions/50944604/f-type-parameter-cannot-be-used-as-type-constructor
Хочет странного.
Ну, в F# не очень реализуемо то что он хочет да
а это разве не примерно то, что через модули в окамле можно сделать?
Зависит от устройства тех "message systems", от которых он хочет абстрагироваться. Я плохо понимаю мотивацию.
Да, пожалуй, в OCaml можно было бы завести сигнатуру с абстрактным типом ссылки.
В F# мы можем ввести новый тип Ref<'T, 'Msg>, где 'T — это тип "нетипизированной" ссылки, 'Msg — тип сообщения.
И уже в коде, где тип ссылки уже известен, будут нужны две дополнительные функции pack/unpack.
Кажется, довольно просто. Более сложный случай, когда типы совсем "стираются" — тогда нужна рефлексия и визиторы.
Другое решение, в духе ОО -- выделить общий минимальный интерфейс и сделать обертки для ссылок. С object expressions должно быть симпатично.
Комментарии, предложения? :)