@Fsharp_chat

Страница 14 из 772
Roman
17.03.2017
17:54:21
Хотя они говорят, что он специально для ML, но очень уж базовые там абстракции.

Да, я этот список видел. Там из стоящего, кажется, Accord.NET, да RProvider.
А тут наоборот проблема в слишком конкретных решаемых задачах.

Evgeniy
17.03.2017
17:55:55
Хотя они говорят, что он специально для ML, но очень уж базовые там абстракции.
Ну, я automatic differentiation чаще всего в контексте машинного обучения встречал.

Google
Roman
17.03.2017
17:56:29
Понял, что линейной алгебры не помню, а теорвер не знаю. Завтра пойду на 5ое занятие к преподу

Слишком уж много вопросов возникает и мозги уже не такие гибкие)

Evgeniy
17.03.2017
18:02:09
Roman
17.03.2017
18:04:17
О, заниматься с преподом, кажется, самое правильное решение.
Думаю, да. т.к. я 4 занятия назад и я сейчас совершенно другие люди xD

Ну, и Math.NET для общей математики.
Я попутал Math.Net и DiffSharp

Evgeniy
17.03.2017
19:45:57
Хорошая библиотека.

Надо туда поконтрибьютить когда-нибудь.

Roman
17.03.2017
22:12:21
А кто-нибудь знает .net либу для генерации случайных последовательностей с различными распределениями?

Сам спросил, сам загуглил, опять же math.net в помощь https://numerics.mathdotnet.com/Generate.html

кстати внезапно https://fslab.org/

И сюда же https://notebooks.azure.com/Microsoft/libraries/samples там можно поигарть c Python, R и Fsharp

Google
Anton
18.03.2017
07:32:38
О, прикольно.

Evgeniy
18.03.2017
07:38:49
Да, есть некоторые библиотеки. Меня только смущает, что многие из них плохо поддерживаются.

Anton
18.03.2017
07:40:37
ага

:D

Igor
18.03.2017
11:47:25
Смешная вещь по поводу F# для core номер 1: команда dotnet new console --language f# создает .fsproj с <ItemGroup> <PackageReference Include="FSharp.Core" Version="4.1.*" /> <PackageReference Include="FSharp.NET.Sdk" Version="1.0.*" PrivateAssets="All" /> </ItemGroup> И все было ОК с "1.0.*", пока (18 часов назад) FSharp.NET.Sdk не обновили до 1.0.2 После этого во всех проектах разом сломалась компиляция в VSforMac (VSC не пользуюсь тк там еще раньше сломалась подсветка). Сколько я ### времени потратил на выяснения почему это произошло ?

Смешная вещь по поводу F# для core номер 2: Парсинг JSON в типы F# работает только внутри F# REPL - в собранном приложение он завершается ошибкой (и на net453/net461/nestadard)

Evgeniy
18.03.2017
12:09:56
@angmarr Какая ошибка?

Зарепортил баги? :)

Igor
18.03.2017
12:18:05
@angmarr Какая ошибка?
The "SkipCompilerExecution" parameter is not supported by the "Fsc" task. (если глянешь релиз. ноутс 1.0.2 там как-раз увидишь теже слова) Не понятно кому репортить - dotnet собирает, а багтрекер VSforMac я не знаю где. Да и не важно это - тк json не парсится в итоге. Плюс у меня приложение написано на Observable подвешенных на System.Timers.Timer - которых как оказалось нет в коре и все надо переписывать.

Evgeniy
18.03.2017
12:21:49
@angmarr А VSforMac откуда fsc берет?

Igor
18.03.2017
12:26:08
@angmarr А VSforMac откуда fsc берет?
Либо из FSharp.Compiler.Tools который идет зависимостью к FSharp.NET.Sdk Либо прошит где-то в VSforMac

@angmarr А VSforMac откуда fsc берет?
Опять таки это легко пофиксить - просто заменить 1.0.* явно на 1.0.1

Evgeniy
18.03.2017
12:29:06
Не, это понятно.

Igor
20.03.2017
07:14:56
Смотрите какой митапчик организуется https://www.meetup.com/progmsk/events/238408202/

Roman
20.03.2017
07:16:08
Круто!

Vasily
20.03.2017
07:16:33
Неплохой, но я на скалодром :)

Evgeniy
20.03.2017
07:20:48
> OCaml, язык академического программирования, оторванный от практических нужд Что?

Igor
20.03.2017
07:24:59
> OCaml, язык академического программирования, оторванный от практических нужд Что?
Ну его так скорее позиционирую некоторые люди. Посмотри доклад с DotNext 2016 или тот же Сошников постоянно показывает примеры с обработкой данных. Честно меня это тоже раздражает.

Vasily
20.03.2017
07:50:50
Сошников евангелист,он в другое не умеет

Google
Roman
20.03.2017
09:09:37
Ну его так скорее позиционирую некоторые люди. Посмотри доклад с DotNext 2016 или тот же Сошников постоянно показывает примеры с обработкой данных. Честно меня это тоже раздражает.
Но для обработки данных он правда оч удобен. Кстати, этим я объясняю отсутствие большого кол-ва библиотек. Т.к. почти все что надо есть в стандартной библиотеке.

Кроме графиков.

*библиотек по обработке данных.

Igor
21.03.2017
09:11:06
https://xyncro.tech/chiron/
В общем эта даже не встала на core, но все в итоге наладилось: - проблема newtonjson была в типе список, я заменил его на array - Timer заменил на System.Reactive.Observable (одну строчку переписал) Теперь все работает на core clr как часы ? (плюс плагин для VSC обновили и он стал поддерживать fsproj)

Friedrich
21.03.2017
09:12:26
В общем эта даже не встала на core, но все в итоге наладилось: - проблема newtonjson была в типе список, я заменил его на array - Timer заменил на System.Reactive.Observable (одну строчку переписал) Теперь все работает на core clr как часы ? (плюс плагин для VSC обновили и он стал поддерживать fsproj)
По поводу Chiron: я раньше говорил с автором, и он мне ответил, что ему не очень интересно делать штуки для Core, пока там всё не стабилизируется. Если сейчас стабилизировалось (а вроде бы да), то ты ему ишуй заведи про Core. Я уверен, он займётся портированием.

Friedrich
21.03.2017
09:15:01
https://github.com/xyncro/chiron/blob/master/paket.dependencies — это разве странные?

Aether для линз, FParsec понятно для чего, и всё.

Friedrich
21.03.2017
09:17:18
Ну а в целом — да, рады за то, что у тебя всё работает.

Roman
21.03.2017
09:17:31
там можно и руками спарсить.

Igor
21.03.2017
09:27:31
Aether для линз, FParsec понятно для чего, и всё.
Я хочу писать продакшен код, а не заниматься дата-саинс ?

Vasily
21.03.2017
09:28:00
Все хотят писать продакшн код на F#

Akhmed
21.03.2017
09:29:08
http://risovach.ru/upload/2017/03/mem/nelzya-prosto-tak-vzyat-i-boromir-mem_140511197_orig_.jpg

Roman
21.03.2017
09:30:15
просто берешь и пишешь на нем)

аь потом подключаешь команду потихоньку

Vasily
21.03.2017
09:30:47
Ну не все так однозначно

Google
Roman
21.03.2017
09:30:52
по крайней мере этот метод буду использовать

Vasily
21.03.2017
09:30:58
Но я бы не отказался поработать в такой команде

Igor
21.03.2017
09:31:27
А есть ли готовая функция что бы превращать "" -> None, а не пустые строки в Some string?

Akhmed
21.03.2017
09:32:02
если честно я бы тоже поработал бы в команде с F# что бы набраться опыта.

Roman
21.03.2017
09:32:03
она же однострочная

ектеншн методы в F# тоже есть. Так что можно их использовать.

Igor
21.03.2017
09:33:08
она же однострочная
Это понятно, она у меня и в одном месте только используется (но я думал есть утили для String)

Vasily
21.03.2017
09:33:13
let toOption str= if String.IsNullOrWhiteSpace(str) None else Some str

Roman
21.03.2017
09:33:35
Vasily
21.03.2017
09:33:35
За скобочки не ручаюсь

Igor
21.03.2017
09:33:36
let toOption str= if String.IsNullOrWhiteSpace(str) None else Some str
Я прям похожий код и вставил в одном единственное место где оно нужно было

Vasily
21.03.2017
09:34:04
В целом, такое место в программе должно быть в одном модуле, который осуществляет интероп

Igor
21.03.2017
09:34:33
В целом, такое место в программе должно быть в одном модуле, который осуществляет интероп
Я думал для этого есть Fsharp.Core ? (блин учитывая размер, можно было засунуть еще одну функция и никто бы не заметил)

Vasily
21.03.2017
09:35:47
К сожалению, подобного рода интероповской библиотеки нет :(

Igor
21.03.2017
09:35:48
ща загуглю
удачи (я ничего не нагугли)

Roman
21.03.2017
09:35:53
http://fsdn.azurewebsites.net/

Vasily
21.03.2017
09:36:31
О, нашлось

Google
Vasily
21.03.2017
09:36:38
Option.ofObj

Friedrich
21.03.2017
09:37:10
Ему надо чтоб "" превращалось в None, так что это не совсем то.

Vasily
21.03.2017
09:37:18
Тож верно

Roman
21.03.2017
09:37:54
не такой нет в стандартной либе.

Так можно закоммитить!

Igor
21.03.2017
09:38:33
не такой нет в стандартной либе.
Идем делать пули реквест ?

Roman
21.03.2017
13:05:23
let form = new Form(Text = "F# Windows Form", Visible = true, TopMost = true) form.MouseMove |> Event.filter ( fun evArgs -> evArgs.X > 100 && evArgs.Y > 100) |> Event.add ( fun evArgs -> form.BackColor <- System.Drawing.Color.FromArgb( evArgs.X, evArgs.Y, evArgs.X ^^^ evArgs.Y) )
у меня так let handleMessage (msg : MessageEventArgs) = validate msg.Message.From (fun () -> Message.sendUnknownMessage bot msg.Message) (fun () -> messageHandler ("@" + me.Username) bot msg.Message) let _handleMessage (obj : System.Object) = handleMessage (obj :?> MessageEventArgs) let disposableUpdate = bot.UpdateReceived.Subscribe(fun uea -> printfn "update %A" uea.Update) let disposableMessage = bot.MessageReceived.Subscribe(_handleMessage) вспомнил когда залез в код.

Evgeniy
21.03.2017
15:23:49
https://github.com/Microsoft/visualfsharp/pull/2671

Roman
21.03.2017
16:18:53
https://github.com/Microsoft/visualfsharp/pull/2671
да-да, кто-то постил уже. Полезность

Vasily
21.03.2017
16:23:37
Скоп там какой у рекорда?Модуль?

Или наружу можно?

Roman
21.03.2017
16:39:43
Или наружу можно?
у анонимного?

Vasily
21.03.2017
16:45:31
Ага

Evgeniy
21.03.2017
16:46:28
А там их два разных.

С разными скоупами.

Лучше RFC прочитать, там лучше написано, чем я могу пересказать. :)

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