@Fsharp_chat

Страница 222 из 772
Vasily
02.07.2017
15:00:28
По моему скудному разумению самым оптимальным было бы попробовать построить сериализатор/десериализатор на концепции линз.Но от описания правил сериализации все равно никуда не деться,и это печалит

Friedrich
02.07.2017
15:02:12
Нас спасут тайп-провайдеры, параметризуемые типами!

Google
Nikolay
02.07.2017
15:14:19
Написал небольшую обёртку для Funogram: https://gist.github.com/Dolfik1/be217026241d3936bca59334fbe68792

Норм?

Ivan
02.07.2017
15:14:48
А если серьезно - очень нужны тайп конструкторы в .net. Вот нет проблемы с компилтор безопасной сериализацией. Но десириализация прости конструктора типа - а описать никак.

Igor
02.07.2017
15:24:48
Прикольно, но разве разбор сообщения это работа твоей либы?

Vasily
02.07.2017
15:25:41
Пример нормального сериализатора: - JS, TS - JSON.stringify() JSON.parse() - F# - https://github.com/fpawel/CentBet/blob/master/Utils/JsonSerialization.fs
Когда маппинг 1-1, тогда любой сериализатор справится.Больше волнует момент,что сериализация объекта-фактический его мап на другую предметную область со своими правилами именования пропертей,например.И вот написание этого маппинга обычно ад

Nikolay
02.07.2017
15:33:06
А так вообще обычное Rest API есть

Есть такая функция: cmd "/test" (fun _ -> say "blabla") Хочу сделать так: cmd "/test" >=> say "blabla" Определяю оператор так: let (>=>) a b = a (fun _ -> b) Проблема в том, что во втором случае вызов функции say ... происходит при инициализации, а не при вызове cmd. Как правильно оператор написать?

Pawel
02.07.2017
16:22:48
Кто нибудь смотрел порядок величины STW паузы на сборку мусора в net core?

Nikolay
02.07.2017
16:26:04
Но в Suave это сделано, я правда не очень понял как

Хотя может там и происходит вызов, этого я не знаю

Google
Evgeniy
02.07.2017
16:55:27
Я хочу попробовать в data science. Какой самый безболезненный способ установить R в Windows, чтобы он работал c RProvider? сс @nevoroman @neftedollar @the_RAMZAY

Artemy
02.07.2017
17:58:21
Можно установить вместе с R Tools for Visual Studio

Evgeniy
02.07.2017
18:01:48
Artemy Точно, спасибо.

Artemy
02.07.2017
18:02:29
Не за что. Надеюсь, проблем не возникнет. У меня лично не возникало. Ставил так 2 раза.

Evgeniy
02.07.2017
18:03:31
Не за что. Надеюсь, проблем не возникнет. У меня лично не возникало. Ставил так 2 раза.
Хорошо. Я еще думал разобраться с conda, там можно R установить. Но через VS даже проще.

Летучая
02.07.2017
18:04:37
Я хочу попробовать в data science. Какой самый безболезненный способ установить R в Windows, чтобы он работал c RProvider? сс @nevoroman @neftedollar @the_RAMZAY
С оф сайта ставил R потом R.NET в нугете потом RProvider в нугете Полёт норм. Но! Один подводный камень. В некоторых случаях, чтобы поставить пакет, консоль надо запускать от админа (если из-под виндовс). Иначе РПровидер не увидит (столкнулся с таким).

Artemy
02.07.2017
18:04:49
Ну вообще, 1-й раз я сначала ставил с оф. сайта R. Там просто среда и стандартный REPL. После этого RStudio ставил. А пакеты потом уже через неё устанавливал. Все были видны в провайдере.

P.S.: RStudio я скачивал не ради того, чтобы пакеты ставить. ?

Evgeniy
02.07.2017
18:09:05
Мне нравится устанавливать программы и библиотеки через пакетные менеджеры. Пусть это даже установщик VS. :)

Artemy
02.07.2017
18:10:45
С оф сайта ставил R потом R.NET в нугете потом RProvider в нугете Полёт норм. Но! Один подводный камень. В некоторых случаях, чтобы поставить пакет, консоль надо запускать от админа (если из-под виндовс). Иначе РПровидер не увидит (столкнулся с таким).
Через Paket не нужно явно R.NET ставить. Он автоматически подтягивается как зависимость для RProvider. В голом Нугете разве не так (я им очень мало пользовался, т.к. почти сразу перешёл на Paket)?

В RTVS тоже есть установщик пакетов R. Причём, как мне показалось, получше, чем в RStudio.

Evgeniy
02.07.2017
19:36:53
@kroshner Привет!

Nikolay
02.07.2017
19:38:55
Допилил Funogram и выложил в NuGet

Точнее как допилил, реализовал все методы, но не тестил)

Aliaksandr
02.07.2017
19:50:15
Вечер в хату!

Evgeniy
02.07.2017
20:02:38
Artemy @Worldbeater Все работает, еще раз спасибо.

Google
Evgeniy
03.07.2017
05:14:54
F# Weekly #27, 2017 - Save the date for .NET Conf https://sergeytihon.com/2017/07/02/f-weekly-27-2017-save-the-date-for-net-conf/

Доброе утро.

Expecto.VisualStudio.TestAdapter 5.0.0 works with latest F# Expecto test library https://www.nuget.org/packages/Expecto.VisualStudio.TestAdapter/

Vasily
03.07.2017
07:31:45
Хммм... потихоньку довозят тулинг

А вот скажите мне, знатоки лямбда исчисления и прочего

Вот есть в f# операция »

Склеивания функций

Вопрос - в алгебре как-то определена обратная операция?

Просто хочется странного, но словами пока не могу выразить нормально

Evgeniy
03.07.2017
07:38:18
Я никогда над таким не думал. Но кто-то вот размышляет. https://stackoverflow.com/questions/16825559/does-haskell-keep-track-of-function-composition

Alexey
03.07.2017
08:00:55
Вот почему f#'овые коллекции не реализуют Ireadonly* интерфейсы , будучи перзистентными ?

Evgeniy
03.07.2017
08:04:54
Sergey @Microcosmus Привет!

Ilya
03.07.2017
08:06:18
Привет-привет

Evgeniy
03.07.2017
08:12:55
@badmoonz В F#4.1 list реализует IReadOnlyCollection.

@freilin Пожалуйте!

Shkoda
03.07.2017
08:21:47
Добрый день)

Pawel
03.07.2017
10:52:21
Кто нибудь понимает зачем вот эту чушь приписывать в патх - ";./.paket" ? почему нельзя сделать дистрибутив paket , который бы установил его, прписал путь и что там ещё ему надо? и этим ещё кто-то рекомендует пользоваться вместо VS...

Evgeniy
03.07.2017
10:54:05
Paket обычно не прописывают в PATH, а таскают вместе с проектом.

Igor
03.07.2017
11:00:04
А придумывать свои велосипеды что пайпить async это нормальная практика, или не стоит?

Google
Igor
03.07.2017
11:02:06
Почему нет?
Ну из коробки нет, значит Дон против))

Roman
03.07.2017
11:03:08
Ну из коробки нет, значит Дон против))
Но ведь Дон пытается обойтись общими задачами. А у тебя частные.

Pawel
03.07.2017
11:06:07
Paket обычно не прописывают в PATH, а таскают вместе с проектом.
и каждый раз набивать в консоли ./.paket/paket.exe тебе пальцев не жалко?!

Pawel
03.07.2017
11:07:25
И почему вместо, если можно вместе? :)
есть мнение, что нормальное приложение - это когда установил и забыл, а не то, которое надо руками бутстрапить и таскать в кармане

Зачем? Есть же расширения
зачем тогда CLI апи? включили бы paket в состав ionide как бэкенд

Evgeniy
03.07.2017
11:09:41
и каждый раз набивать в консоли ./.paket/paket.exe тебе пальцев не жалко?!
Нет. Если не ошибаюсь, есть даже плагин для VS.

Pawel
03.07.2017
11:12:57
допустим я изучил этот paket и хочу работать с ним в консоли без всяких расширений, на которые моя нервная система не расчитана. Вопрос - почему нельзя просто взять его и пользоваться? не ужели так сложно было сделать полноценный дистрибутив, самообновление и т.п., то что делают все в таких случаях??

Pawel
03.07.2017
11:14:56
Заведи issue.
лень. я как-то 1писал этому г-ну в гиттере, он что-то не вразумительное ответил

Klei
03.07.2017
11:24:57
Я конечно понимаю, что это скорее всего из-за лени, но F# канал и чат идут первыми в своих категориях. // #microsoftпомнит ?



Friedrich
03.07.2017
11:25:35
?

Evgeniy
03.07.2017
11:27:28
Спасибо @Schvepsss. :)

Nikolay
03.07.2017
11:27:55
@fvnever ты там просил в NuGet выложить Funogram

Google
Friedrich
03.07.2017
11:28:11
@fvnever ты там просил в NuGet выложить Funogram
Да, я заметил, что ты выложил. Ты же сюда писал :)

Nikolay
03.07.2017
11:28:21
Где мои миллионы скачиваний?

Friedrich
03.07.2017
11:28:34
А у меня всё ещё субмодулем подцеплено.

Igor
03.07.2017
11:33:41
EasyNetQ в метод SubscribeAsync требует параметр () => Task Я передаю такой паметр: fun x -> async { return () } |> Async.StartAsTask Но он пишет ошибку ?, как ее можно обойти? Task<unit> же по идеи сабкласс. This expression was expected to have type 'Threading.Tasks.Task' but here has type 'Threading.Tasks.Task<unit>’

Klei
03.07.2017
11:44:22
Было какое-то адекватное решение.
Где то в гайдах по адаптации api для C# говорилось, что F# Async надо заворачивать в AsTask и если оно Task<unit>, кастить к Task. Так что наверное это и есть кошерное решение.

Klei
03.07.2017
12:06:55
Igor
03.07.2017
13:37:06
Я тут велосипед придумал, но может что-то уже есть похоже в F#? let (?>) (x: 'a) (def: 'a) = if isNull x then def else x

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