@Fsharp_chat

Страница 275 из 772
Evgeniy
20.08.2017
05:43:32
Хорошо, что в отдельном пакете есть. https://fsprojects.github.io/FSharp.Data.Xsd/

Vladimir
20.08.2017
06:43:22
latency сильно упала?
Сильно, минимальный отклик на 20%, суммарно на 30%

сейчас попробую на новом кестреле запустить, там его как-то можно напрямую к unix-сокетам подключать

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x

Google
Vladimir
20.08.2017
07:10:45
Сильно, минимальный отклик на 20%, суммарно на 30%
хотя это не latency а полное время запроса, чисто издержки сервера получается раза в 2 выросли

Evgeniy
20.08.2017
07:51:52
Привет! o/

tiga
20.08.2017
07:52:20
Привет! o/
Привет!

Daniel
20.08.2017
15:05:17
Господа

Кто знает когда в студии появится шаблон F# на .NET Core?

Evgeniy
20.08.2017
15:08:34
Пока сложно сказать точные сроки.

Daniel
20.08.2017
15:08:56
Friedrich
20.08.2017
15:09:01
Да. Сейчас там всё печально. Когда починят — тогда сразу запилят шаблон

Evgeniy
20.08.2017
15:09:10
Nikolay
20.08.2017
15:09:36
Можно писать в VS Code, если что ;)

Friedrich
20.08.2017
15:09:39
Так для F# уже есть
Давай считать, что пока поддержка неофициальная. Там работает всё очень плохо: файлы путаются местами, автодополнение отваливается (у меня, во всяком случае, не завелось).

Vlad
20.08.2017
15:10:12
Можно писать в VS Code, если что ;)
тоже не все гладко, "можно", конечно

Google
Evgeniy
20.08.2017
15:11:10
тоже не все гладко, "можно", конечно
А какие есть проблемы, кроме отваливающегося автодополнения для netstandard2.0?

Vladimir
20.08.2017
15:13:55
у меня ProjectReference не понимает в .net core 2.0, подчеркивает все зависимости

Vlad
20.08.2017
15:16:15
А какие есть проблемы, кроме отваливающегося автодополнения для netstandard2.0?
ionide просто сдох в проекте из 40 строк по неведомой причине(я, правда, нашел как воскресить, но мне было уже все равно на тот момент), rider не смог собрать, vs просто несмогла(может только загрузить и более ничего)

Vlad
20.08.2017
15:16:57
нет

Evgeniy
20.08.2017
15:18:02
нет
Какая версия неткора?

Vlad
20.08.2017
15:18:30
Какая версия неткора?
нетстандарт1.6\2.0 либа(версия вроде не влияла)

Evgeniy
20.08.2017
15:18:49
Но версия влияет.

Как минимум для Ionide.

Я предлагаю на такие вещи не забивать.

И если не получилось с первого раза, то заводить ишшуй.

Vlad
20.08.2017
15:20:23
я когда еще буду пытаться, проверю

Vladimir
20.08.2017
15:28:52
сейчас попробую на новом кестреле запустить, там его как-то можно напрямую к unix-сокетам подключать
Попробовал получилось быстрее чем на чистом кестреле) Особенно когда 1К +. Если бы не непонятный спайк на 900RPS думаю уже бы вошел в топ-50

Evgeniy
20.08.2017
15:36:11
Раз уж наш тулинг открытый и без коммерческой поддержки, то это в наших интересах подробно репортить проблемы.

Vladimir
20.08.2017
15:42:04
Круто :) Может дело в каком-то запросе?
Надо попробовать еще раз запустить, скорее всего какой-то рандомный спайк. Но возможно он в другом месте появится) Я перед этим еще хочу первый запрос как-то при запуске сделать, он очень медленный

Evgeniy
20.08.2017
16:28:03


Nikolay
20.08.2017
16:29:30
?

Vlad
20.08.2017
16:29:52
крестом помашу на всякий, перед монитором

Nikolay
20.08.2017
20:15:13
Я тут подумал, что не помешало бы создать своеобразный справочник, с общим переводом некоторых базовых названий, типа union types/discriminated unions, computation expressions и т.п.

Google
Evgeniy
20.08.2017
20:21:06
https://twitter.com/kot_2010/status/899363755552845825

Летучая
20.08.2017
20:24:07
Лучше дать ему годик настояться (сэкономив нервы, время и деньги), а уже потом кочегарить.

Roman
20.08.2017
20:30:38
Сопоставление с образцом

Nikolay
20.08.2017
20:32:08
You can get the same issue when pattern matching tuples during binding: Вы так же можете получить похожую ошибку при сопоставлении с образцом кортежей, во время привязки: Достаточно понятно?

Ivan
20.08.2017
20:37:06
Привязка здесь наверное хуже, чем декомпозиция

Вы так же можете получить похожую ошибку сопоставления с образцом при декомпозиции кортежей

Roman
20.08.2017
20:47:00
Деконструкции же

Ivan
20.08.2017
20:49:11
Деконструкция в русском проотивоположна конструкции. А это не совсем то же, что реально происходит при сопоставлении с образцом. Английский deconstruct в этом контексте по русски мне кажется все же ближе к декомпозиции.

Вопрсо конечно сложный ?

Igor
20.08.2017
20:49:52
А что можно заюзать что бы пайпить Async + Result<T,E> ?

Ivan
20.08.2017
20:50:26
В стандарте ничего

Нужны свои комбинаторы

Igor
20.08.2017
20:55:34
Знал, что все этим закончится ?

Google
Ivan
20.08.2017
21:01:11
Ждем монадных комбинаторов ?

Igor
20.08.2017
21:10:51
Хотя можно конечно отделить pure функции, а весь код с сайд эффектами написать внутри async { try .. with .. } и кидать там исключения по старинке

Или все таки обмазаться ФП по полной ?... блин сложный выбор

Oleg
21.08.2017
02:15:50
Круто, респект разработчикам RavenDB :)
Это newtonsoft json научился больше года назад, скорее всего ему и спасибо

Хотя можно конечно отделить pure функции, а весь код с сайд эффектами написать внутри async { try .. with .. } и кидать там исключения по старинке
Для async в f# идиомой является использование try/with. Поэтому самое правильное их в коде и использовать. Вообще Async уже имеет в сигнатуре и T и E, зачем что-то ещё прикручивать?

Evgeniy
21.08.2017
04:01:59
Как его переводить, кстати? Или не переводить?
Бери переводы терминов у Криса Смита.

Igor
21.08.2017
07:39:34
Evgeniy
21.08.2017
09:17:06
https://eiriktsarpalis.wordpress.com/2017/08/20/on-the-significance-of-recursion/amp/

Vasily
21.08.2017
09:59:31
Хорошая статья

Mike
21.08.2017
10:52:52
а почему? я гуглил как-то, нашёл мол потому что это Security & thread safe
Этого вполне достаточно. Если какой-то надежной функции передается строка, то она должны быть уверена, что эту строку не сможет изменить другая нить. Для этого строки иммутабельны и от них нельзя наследоваться. Вообще, хорошо бы, что бы и про другие оъекты можно было бы получить аналогичные гарантии.

Vladimir
21.08.2017
11:44:34
Хочу поделиться графиком)

http://c2n.me/3N65rEg

этот пик это всего-лишь один GC 1-го уровня

Похоже на хайлоуде сборок мусора быть не должно)

Evgeniy
21.08.2017
11:49:12
этот пик это всего-лишь один GC 1-го уровня
А ты struct везде поставил, кстати?

Vladimir
21.08.2017
11:49:30
нельзя struct

объекты во-первых больше 16 байт, во-вторых массив когда используешь, там надо на null проверять, а для этого box писать

тут конечно фшарп как раз и проигрывает

нет нормального сравнения с null

Google
Evgeniy
21.08.2017
11:51:28
нет нормального сравнения с null
А откуда null приходит?

Vladimir
21.08.2017
11:51:41
надо взять элемент из массива

и проверить null он или нет

Nikolay
21.08.2017
11:52:11
и проверить null он или нет
Т.е. проверка на наличие элемента в массиве?

Evgeniy
21.08.2017
11:52:30
и проверить null он или нет
Почему нельзя использовать option?

Vladimir
21.08.2017
11:52:31
да, если он есть то с ним что-то сделать, в данном случае отправить в ответ

Ilya
21.08.2017
11:53:04
да у него там данные снаружи же приходят, значит есть десериализация, значит структуры все равно забоксятся. Так что struct скорее вреден же

Vladimir
21.08.2017
11:53:39
Почему нельзя использовать option?
я думаю можно, но это еще добавит только сложности

Ilya
21.08.2017
11:53:49
так боксинг создает новый объект

Vasily
21.08.2017
11:54:02
Боксинг лучше не надо, да

Aleksander
21.08.2017
11:54:05
а ты серверный GC выставил?

Vladimir
21.08.2017
11:54:24
а как в кестреле его выставить?)

Ilya
21.08.2017
11:54:28
в fsproj

https://docs.microsoft.com/en-us/dotnet/core/tools/project-json-to-csproj

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