Vladislav
Ayrat
Vladislav
Vladislav
https://github.com/Liminiens/json-provider/blob/master/src/JsonProvider.Runtime/JsonProvider.Runtime.fs#L16
Igor
Vladislav
да я пока не сильно разобрался, позже покумекаю над текстом
Vladislav
чтоб красиво было
Ayrat
Vladislav
Vladislav
да вроде норм кстати
Vladislav
(тут телега зашакалила)
Ayrat
щас норм
Igor
Vladislav
проверил на полном и коре
Vladislav
на винде
Vladislav
вообще не должно быть проблем
Hog
Вынужден признать, что тулинг - печаль полная
Shub
я тоже надеялся, что за 10 лет, что меня там не было, ситуация сколько-то улучшилась
Hog
да не - в студии-то как раз всё ок :)
Hog
Трахаюсь с ионидом второй день
Shub
зачем? есть же emacs
Shub
впрочем, на винде наверное нету
Shub
а, точно, вспомнил. там же запущенная VS требуется?
Shub
мутно все очень
Shub
когда-то очень давно я настраивал ropemacs, когда он был просто архивом на “у того парня на страничке”
Shub
так вот даже настройка ropemacs по лисповым исходникам была как-то прямолинейнее, что ли, нежели VS и ее инсталлятор
Hog
Вот уж нет ничего проще, чем студию поставить
Hog
не ожидал, что самая рекламируемая фича обернётся такой подлянкой!
Romɑn
@atsapura нормальный такой у тебя от статьи выхлоп)
Roman
Hog
Hog
И не боты!
Roman
Отлично, значит, не зря все это было)
Ayrat
Павлуша отписался в твоей статье!
Ayrat
Успех
Ayrat
Как всегда написал хуйню)
Vladislav
Roman
Hog
Vladislav
Hog
Нет - проекты, зависящие от Sql и Yaml ТП
Ayrat
Но идея офигенная
Ayrat
@gsomix, ты был прав, там нет маршалинга анонимных рекордов между сборками. Я закликбейтился на заголовок
Design Principle: By Default Works Across Assembly Boundaries
в котором поясняется что они этого НЕ сделали :D
Ayrat
но можнот делать так
let inline getX (x: ^TX) : ^X =
(^TX : (member get_X : unit -> ^X) (x))
getX {| X = 0 |}
getX {| X = 1; Y = "abc" |}
getX {| X = 2; Y = "2" |}
Hog
Ayrat
Лол
In the generated code, anonymous record types are given a unique name by SHA1 hashing the names of the fields. This name must never change in future F# compilers. The exact hash used is very, very, very, very, very, very, very, very, very, very, very unlikely to collide, see probability of SHA-1 hash collision
Hog
Выход инженеров гугла :) которые придумают коллизии :)
Roman
Я ещё раз вброшу. TP - негодная для прода фича.
мне казалось (чисто чуйка без боевого опыта), что всякие Json/Xml providers должны быть достаточно безобидные, не? Поскольку там не нужен коннекшн к реальной базе или другой сильной зависимости от внешнего мира.
Типа выкачал в файл json схему какой-нить апишки, положил в проект и натравил провайдер на него.
Roman
Не столько спорю, сколько хочу пояснений, почему так)
Ayrat
Ayrat
и то, функционал там убогенький, но мне хватает с натяжечкой
Ayrat
всё внешние провайдеры, которые не в FSharp.Data заброшены, недопилены
Roman
ну наверное ж должно быть по совокупности трудозатрат быть все еще выгодней, чем руками поддерживать километры дто-шек
Ayrat
у меня триллиарды разных жсонов с дикой структурой.
Меньше всего когнитивной нагрузки и ускорения процесса их разбора дал JPath
Ayrat
т.е. выбрать подмножество жсона и его уже складывать в модели
Ayrat
иначе мозгом двинешься
Hog
Ayrat
Hog
Ayrat
Ayrat
он один Jpath поддерживает на рынке
Roman
обнимитесь?)
Hog
Ayrat
Ненавижу эту либу конскую, но больше с JPath никто в дотнете не работает
Roman
Ayrat
при том что мы с @vshapenko написали парсер жпасов на фпарсеке в сотку строчек (с кучей пустых ясен хрен)
Hog
Hog
а в Фабле2 есть Thoth.Json
Vladislav