@Fsharp_chat

Страница 356 из 772
Friedrich
10.10.2017
13:36:04
Надо сделать настоящие! Давайте пилить провайдеры!

Evgeniy
10.10.2017
13:38:06
Friedrich
10.10.2017
13:38:13
Нужен generative json provider?
Ну, не помешает.

Чтобы по JSON Schema генерировал типы.

Google
Evgeniy
10.10.2017
13:38:38
Давай сделаем.

Чтобы по JSON Schema генерировал типы.
Обязательно по JSON Schema?

Friedrich
10.10.2017
13:39:04
https://github.com/jet/JsonSchemaProvider

Vasily
10.10.2017
13:39:09
Не надо по JSON Schema

Evgeniy
10.10.2017
13:39:17
https://github.com/jet/JsonSchemaProvider
Все сделали до нас!

Friedrich
10.10.2017
13:39:19
Не надо по JSON Schema
Ну а по чему ещё?

Все сделали до нас!
Проклятые опенсорсники, опять опередили! ?

Evgeniy
10.10.2017
13:39:45
Nikolay
10.10.2017
13:39:48
Или вообще JSON парсер

Который будет парсить DU нормально

Без всяких __case

Vasily
10.10.2017
13:40:16
Буквально сегодня статью видел

Google
Vasily
10.10.2017
13:40:29
С интересным подходом к данной проблеме

Friedrich
10.10.2017
13:40:45
Ага, в F# Weekly была статья про JSON.

Evgeniy
10.10.2017
13:41:08
Friedrich
10.10.2017
13:41:15
Да.

Evgeniy
10.10.2017
13:41:20
А, Functional JSON.

Nikolay
10.10.2017
13:42:15
Мне надо DU парсить

И ещё уметь option

Evgeniy
10.10.2017
13:42:47
Где?
Json.NET + FSharpLu.Json?

Nikolay
10.10.2017
13:43:41
Json.NET + FSharpLu.Json?
DU умеет без дополнительных атрибутов, типа __case?

Evgeniy
10.10.2017
13:43:52
> For example the value [Some 5; None; Some 6] gets serialized to just val it : string = "[ 5, null, 6 ]"

@Dolfik ^

https://github.com/Microsoft/fsharplu/wiki/FSharpLu.Json

Nikolay
10.10.2017
13:45:06
А десериализацию?

И более сложных кейсов

Evgeniy
10.10.2017
13:45:38
И более сложных кейсов
Я тебе доку скинул.

Попробуй, потом расскажешь.

Nikolay
10.10.2017
13:46:00
https://github.com/Dolfik1/Funogram/blob/master/Funogram/Types.fs#L685

Google
Nikolay
10.10.2017
13:46:02
Такое)

Evgeniy
10.10.2017
13:47:01
Где?
Utf8Json + FSharpExtensions?

Но тут документации маловато пока.

Смотри, я тебе уже две библиотеки про Json нашел!

https://blog.jetbrains.com/dotnet/2017/10/10/f-support-improvements-rider-2017-2/

> It’s now possible to work with .NET Core F# projects, for both SDK 1.0 and 2.0. This was one of the missing features from Rider 2017.1 which is now resolved.

Нужно бы заценить сегодня.

Читать json value { ... } приятнее, чем операторы в Chiron. :)

Friedrich
10.10.2017
14:27:19
https://blog.jetbrains.com/dotnet/2017/10/10/f-support-improvements-rider-2017-2/
Ох етить колотить срочно качаю!

Nikolay
10.10.2017
14:27:41
Evgeniy
10.10.2017
14:28:02
Ох етить колотить срочно качаю!
А я в трамвае. :С Поэтому пиши, да.

Friedrich
10.10.2017
14:30:10
Может, в тулбокс просто обновление не положили ещё? Я всегда на последней EAP сижу, а .NET Core не очень хорошо работал...

Pavel
10.10.2017
15:27:46
Evgeniy
10.10.2017
16:30:28
Так в chiron тоже самое есть
Да? Я видел всякие <*>, <!> и прочие *>.

Pavel
10.10.2017
16:33:42
Да? Я видел всякие <*>, <!> и прочие *>.
Да, вот пример https://neoeinstein.github.io/blog/2016/04-02-chiron-computation-expressions/index.html

Мне понравилоась

Evgeniy
10.10.2017
16:34:08
Спасибо!

Привет.

KeyZ
10.10.2017
18:02:27
Привет. Нашел Ваш канал на Хабре)

Google
Artemy
10.10.2017
18:08:28
О, а где он там был?

Evgeniy
10.10.2017
18:08:45
О, а где он там был?
В переводе статьи же.

Artemy
10.10.2017
18:08:54
А, точно

Интересно, сколько человек сюда пришло по ссылке оттуда

Evgeniy
10.10.2017
18:11:29
Привет!

Roman
10.10.2017
18:11:31
Привет! Какими судьбами?

Летучая
10.10.2017
18:12:53
Привет! Не подскажете, можно ли делать кастомные операторы объявления списка? А то писать Parent(Children=([Child(Title="Hi")] |> List<_>)) больновато :(

Нужен интероп с C# просто.

Привет! Какими судьбами?
Покурить выходил ?

Летучая
10.10.2017
18:16:35
А что за Parent и Child?
Типы из релейтед C#-кода, POCO.

Evgeniy
10.10.2017
18:16:59
И что из них хочется получить?

Летучая
10.10.2017
18:17:56
class Parent { List<Child> Children { get; } } class Child { string Title { get; } }

И что из них хочется получить?
Их нужно подсунуть тестируемому сервису.

Evgeniy
10.10.2017
18:19:10
Просто красивый конструктор нужен?

Летучая
10.10.2017
18:21:36
Просто красивый конструктор нужен?
Чтобы можно было как-нибудь инлайново объявить дерево. let dataset = [ Parent(Children= [ Child(Title="Foo"); Child(Title="Boo")]); Parent(...) ]

Evgeniy
10.10.2017
18:22:03
Понял. Мне нужно сделать чай.

Летучая
10.10.2017
18:23:27


Evgeniy
10.10.2017
18:23:28
Простой вариант — сделать функцию parent, которая принимает F# список детей и преобразует внутри в List<>.

Google
Evgeniy
10.10.2017
18:26:48
Соответственно, функции category, channel, article.

Сложные конструкторы переносишь в простые функции. Должно получиться что-то по типу DSL для описания веб-интерфейса.

Летучая
10.10.2017
18:34:37
Простой вариант — сделать функцию parent, которая принимает F# список детей и преобразует внутри в List<>.
Тогда, получается, надо ещё и поля туда передавать (в POCO не только ссылки на объекты, но ещё и какие-то данные). Может быть, проще сделать: Category(Channels=ls( [ Channel(Articles=ls( [ Article() ])) ]))

Evgeniy
10.10.2017
18:35:54
Мне все еще нужен чай!

Roman
10.10.2017
18:42:02
https://m.habrahabr.ru/post/339592/

Artemy
10.10.2017
18:42:45
Только ни одного фрагмента кода на F#

Igor
10.10.2017
18:43:36
Только ни одного фрагмента кода на F#
Подразумевается что все и так знают как оно на F# ?

Artemy
10.10.2017
18:43:50
Действительно

Artemy
10.10.2017
21:45:13
Проверьте, пожалуйста, перевод, кто может и кому не лень: https://github.com/fsharplang-ru/translations/pull/29

Roman
10.10.2017
21:51:23
Я заметил странную штуку: если при объявлении типа record фигурную скобку оставить на одной строке с '=', то на ключевое слово interface компилятор почему-то ругается: type EmployeeUpdatedEvent = { id:int time:DateTime position:string } interface IEvent with member x.Id = x.id member x.Time = x.timeпричем если перенести скобку на следующую строку или убрать интерфейс, то компилится нормально. Кто-нить знает, в чем дело?

Artemy
10.10.2017
21:52:57
Наверное, потому что отступы у содержимого записи меньше, чем у начальной фигурной скобки

Хотя не. Я, вроде, и сам фигурную скобку на одной строке с = ставил

А если интерфейс передвинуть на один уровень с начальной фигурной скобкой или дальше?

Vlad
11.10.2017
05:21:03
@Dolfik у тебя апи телеграмма к ф# живое?

Страница 356 из 772