@Fsharp_chat

Страница 333 из 772
Artemy
29.09.2017
08:30:03
Не только тесты

Evgeniy
29.09.2017
08:30:07
А, вижу.

Artemy
29.09.2017
08:30:12
https://github.com/YaccConstructor/QuickGraph/tree/master/src/QuickGraphFS

Evgeniy
29.09.2017
08:30:19
FST, FSA. Что бы это значило?

Google
Artemy
29.09.2017
08:31:11
Однако, C# основа сказывается.

Evgeniy
29.09.2017
08:31:45
Старая библиотека, 2003 года.

А поддерживают сейчас ребята из СПб.

Artemy
29.09.2017
08:32:27
Ну а вот Hekate довольно новая. И полностью под F#

Но там, конечно, нет всяких алгоритмов типа Дейкстры, А* и т.п.

Лишь представление графа и некоторые основные примитивные функции для работы с ним.

Evgeniy
29.09.2017
08:39:21
https://github.com/YaccConstructor

У них много чего интересно есть, кстати.

Artemy
29.09.2017
08:48:54
О, визуализация графов: https://github.com/panthernet/GraphX

Evgeniy
29.09.2017
08:49:53
Даже деньги пытаются делать. :)

Artemy
29.09.2017
08:52:02
Не они одни. Мне одна библиотечка по визуализации приглянулась. Но вот их цены на визуализацию для веб (так-то есть ещё для .NET WPF и WinForms, JavaFX): http://www.yworks.com/products/pricing#info

Evgeniy
29.09.2017
08:53:26
Ага, я тоже встречал пару-тройку платных библиотек про математику и визуализацию.

Еще в эпоху до опенсорц дотнета. Видимо, так принято было.

Google
Artemy
29.09.2017
08:55:40
Ну так-то имеют право. Всё-таки предоставляют готовый продукт. И с документацией, обычно, все более менее в порядке.

Evgeniy
29.09.2017
08:55:48
Да, конечно.

Evgeniy
29.09.2017
08:55:59
Вот, например, библиотека, которую Сайм часто рекламирует. http://www.extremeoptimization.com

Artemy
29.09.2017
08:56:39
Evgeniy
29.09.2017
08:56:48
Математические библиотеки в дотнете редко встречаются.

Artemy
29.09.2017
08:57:30
Ну а сейчас пока что не нужно. Для лаб в своё время не помешало бы. Хотя MathNET + Accord, в принципе, более чем хватило.

Evgeniy
29.09.2017
08:57:47
Хотел бы попользоваться. Но дороговато.)
Когда мне нужна была оптимизация, я подключал плюсовую библиотеку через C++/CLI!

Artemy
29.09.2017
08:58:30
А я, помню, для ускорения подключал IntelMKL в MathNET

Благо, это там очень просто сделано

Evgeniy
29.09.2017
08:59:14
Угу. Я все жду, когда они на .NET Standard переедут.

Artemy
29.09.2017
08:59:41
Ещё очень хотелось бы подружить MathNET и Accord

Например, чтобы можно было те же статистические тесты из Accord использовать на классах распределений из MathNET

Ну и вообще, вроде, линейная алгебра в MathNET получше будет, чем в Accord, да?

Evgeniy
29.09.2017
09:01:39
Я близко не рассматривал Accord, если честно.

Artemy
29.09.2017
09:01:43
Особенно для использования из F#

Я близко не рассматривал Accord, если честно.
Ну я операции с матрицами и векторами там тоже не пробовал. Просто посмотрел доку и понял, что в MathNET для F# оно удобнее.

Evgeniy
29.09.2017
09:14:59
https://github.com/Microsoft/visualfsharp/pull/3662

?

Google
Artemy
29.09.2017
09:16:37
Зачем удалять, если можно просто не пользоваться, если не нравится?

Evgeniy
29.09.2017
09:19:08
Зачем удалять, если можно просто не пользоваться, если не нравится?
Не, там фишка в том, что синтаксически нравится, но хотелось бы иметь обычный цикл в скомпилированном виде.

Как это для Array делается.

Artemy
29.09.2017
09:21:06
А, понял. Текущая реализация List.iter не через цикл, да?

Заголовок просто про удаление. Сбивает с толку.

Evgeniy
29.09.2017
09:22:37
// F# let res2 = [1; 2; 3] |> List.iter (fun i -> ()) // Decompiled in C# ListModule.Iterate<int>(new _.res2@1-5(), FSharpList<int>.Cons(1, FSharpList<int>.Cons(2, FSharpList<int>.Cons(3, FSharpList<int>.Empty))));

Iterate не инлайнится, короче.

И там сразу проблемы с областями видимости, которые хотелось бы для удобной отладки иметь.

@artemy_b Я тоже сегодня попробую залезть в FSharp.Core и починить fst.

А там, быть может, когда-нибудь и в компилятор что-нибудь напишу.

Vladimir
29.09.2017
09:31:38
Я близко не рассматривал Accord, если честно.
Accord очень медленный по сравнению с Math.Net, я где-то год назад в ML разбирался и сравнивал

Evgeniy
29.09.2017
10:06:18
Кто хочет написать F# экстеншн для Utf8Json? https://github.com/neuecc/Utf8Json

Vladimir
29.09.2017
10:10:11
для начала надо проверить так ли он хорош)

12 дней назад первый коммит)

Evgeniy
29.09.2017
10:11:52
Bleeding edge!

Vasily
29.09.2017
10:12:21
Где ж он был во время hlcup

Pawel
29.09.2017
10:19:41
Кто хочет написать F# экстеншн для Utf8Json? https://github.com/neuecc/Utf8Json
запомню этот день - не пришло и 15 лет как в ,net сообществе кто-то озаботился сделать UTF8 апи. лёд тронулся, господа! ну оверхэд на UTF16 -> UTF8 всё равно ни кто не отменял

Vladimir
29.09.2017
10:22:08
сериализация чисел у него на goto... что это за чувак?)

похоже выкатил какую-то энтерпрайзную разработку, слишком там много работы видно

Google
Vladimir
29.09.2017
10:25:51
а, все понятно, https://github.com/neuecc/ZeroFormatter это тоже его

Pawel
29.09.2017
10:28:09
вообще конечно UTF16 - это диагноз под названием "из винды мне ходу нет"

Evgeniy
29.09.2017
10:31:00
Смотрите, для MessagePack-CSharp от того же neuecc есть F# экстеншн. https://github.com/pocketberserker/MessagePack.FSharpExtensions

Автор тоже японец. :)

Архитектурно, наверное, MessagePack-CSharp и Utf8Json должны быть похожи.

Roman
29.09.2017
12:32:49
Привет!

Oleg
29.09.2017
13:06:46
В общем пожалуюсь здесь. Сделал PR для Akkling, не хватает quotation evaluator (вроде код есть, но нет бинарников в нугете), сериализатор вставил MessagePack вместо FsPickler, но надо еще тестировать, работает ли он с нужными типами.

Admin
ERROR: S client not available

Oleg
29.09.2017
13:10:22
Прошло больше недели - никакой реакции, блэд. Резюме: как-то вяло, наверное все в elmish играются

Evgeniy
29.09.2017
13:18:37
Возможно, стоит написать автору на почту с предложением помочь мейнтейнить.

Oleg
29.09.2017
13:21:00
но вообще познавательно сделано, некоторые находки, например функция retype, просто поразительные

в целом хорошее развитие самой Акки

Evgeniy
29.09.2017
13:21:46
Оно? :)

let inline retype<'T,'U> (x:'T) : 'U = (# "" x : 'U #)

Pavel
29.09.2017
13:22:07
Прошло больше недели - никакой реакции, блэд. Резюме: как-то вяло, наверное все в elmish играются
Ты ж понимаешь, что это все делается в свободное время и "за просто так". Никто никому ничего не должен. Всегда можно сделать свой форк с баллеринами и преферансом

Google
Vlad
29.09.2017
13:24:20
let inline retype<'T,'U> (x:'T) : 'U = (# "" x : 'U #)
боюсь спрашивать что (# #) делает

Vlad
29.09.2017
13:24:32
это же про il?

Evgeniy
29.09.2017
13:24:35
Да.

Vlad
29.09.2017
13:25:58
Да.
это обычный каст?

Evgeniy
29.09.2017
13:26:00
Смотрите, для MessagePack-CSharp от того же neuecc есть F# экстеншн. https://github.com/pocketberserker/MessagePack.FSharpExtensions

Вот же я скидывал сегодня.

Oleg
29.09.2017
13:26:24
Кстати да, а как там в MessagePack с F# типами? DU, records?
Вот это самое интересное. Я просто воткнул его не глядя. Еще только планирую

Oleg
29.09.2017
13:27:12
Evgeniy
29.09.2017
13:27:20
Вот!

Pavel
29.09.2017
13:27:42
Вот это самое интересное. Я просто воткнул его не глядя. Еще только планирую
А что с FSharpApi в самой akkanet не в курсе? Портировали на core? Там тоже все уперлось в сериализатор.

Oleg
29.09.2017
13:28:34
А что с FSharpApi в самой akkanet не в курсе? Портировали на core? Там тоже все уперлось в сериализатор.
Нет - https://www.nuget.org/packages/Akka.FSharp/ У них точно те же самые проблемы с quatations

Vlad
29.09.2017
13:30:14
В точку!
но ведь есть же :> :?> или это быстрее?

Evgeniy
29.09.2017
13:32:23
но ведь есть же :> :?> или это быстрее?
Эти операторы про dynamic lookup. В FSharp.Core используют retype, когда точно знаешь тип и нужно просто скастить.

@Liminiens https://github.com/Microsoft/visualfsharp/blob/master/src/fsharp/FSharp.Core/prim-types.fs#L2054

В кейсах when мы точно знаем типы, но чтобы вызвать System.Math.Min нам надо кастануть.

Oleg
29.09.2017
13:39:14
Понял что надо посмотреть как retype реализован, но мне понравилось то, что |> retype после spawn сама привела тип результата функции к нужному - akkling навязывает типизацию акторов

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