@Fsharp_chat

Страница 509 из 772
Artemy
13.03.2018
07:49:49
Ладно, если не "очень не хватает", то хотя бы просто в некоторых случаях думаешь, что могли бы пригодиться.

Evgeniy
13.03.2018
07:50:57
Интересно как они с srtp будут работать
Судя по RFC, должны работать нормально.

Google
?‍?
13.03.2018
08:00:18
Сложный вопрос. F# очень много важного хранит в метаданных.
То, что например, используется им же для рефлексии (попутно задаюсь вопросом как понять принципы тормозной работы union'ов), или вы на счет таких атрибутов как автоопен, запечатка, и модификации доступа?

Pavel
13.03.2018
08:01:50
анонимные рекорды

Evgeniy
13.03.2018
08:01:59
Когда они были?

Pavel
13.03.2018
08:02:21
давно.. в DU

Evgeniy
13.03.2018
08:02:35
давно.. в DU
Это совсем другое.

Pavel
13.03.2018
08:04:13
по факту тоже самое. то что щас это предоставляется в немного другой обертке существенной роли не играет

Evgeniy
13.03.2018
08:05:59
по факту тоже самое. то что щас это предоставляется в немного другой обертке существенной роли не играет
Нет, это не то же самое. Тип записей в DU объявлялся явно, они были номинальные.

Pavel
13.03.2018
08:10:06
Нет, это не то же самое. Тип записей в DU объявлялся явно, они были номинальные.
они и сейчас обявляются явно значениями. или теперь анонимный дженерик можно сделать?

Google
Roman
13.03.2018
08:14:19
Да.
Огонь. Раньше пробовал подобное, только без префикса get_, и очень расстроился)

Evgeniy
13.03.2018
08:16:34
они и сейчас обявляются явно значениями. или теперь анонимный дженерик можно сделать?
Разница как между явным описанием класса-реализации и использованием object expression.

Roman
13.03.2018
08:17:03
Оооо! HR в чате! Победа!!

Привет!

Александра
13.03.2018
08:18:04
Оооо! HR в чате! Победа!!
Через ваш профиль собственно и вышла)) Сначала на сайт, а потом уже и сюда)

Evgeniy
13.03.2018
08:18:21
Я что-то затупил и не перенес сообщение в @microsoftstackjobs. Ну, ладно.

Andrey
13.03.2018
08:22:06
по поводу большого объема данных на клиенте - бывает необходимость в enterprise приложениях, когда, например, есть требование работы в offline и выдача какой-то информации, например, последних остатков по всем товарам, или какие-то их характеристики. в этом случае на мобильном приходится хранить весь каталог товаров

по поводу EF - я пробовал, остановился на Type Providers - мне так удобнее

хотя, если нужно что-то не стандартное - найти информацию на порядок сложнее, чем в EF

и это минус TP

Александра
13.03.2018
08:23:16
А что за профиль? На сайт это наверное ВК.
Там цепочка длинная: сначала на Amazinghiring, затем на linkedIn, оттуда в ВК, затем на сайт сообщества F# и вот теперь я здесь))

Evgeniy
13.03.2018
08:26:17
То, что например, используется им же для рефлексии (попутно задаюсь вопросом как понять принципы тормозной работы union'ов), или вы на счет таких атрибутов как автоопен, запечатка, и модификации доступа?
Я про F# специфичные штуки, да. Например, информация о том, чем является определенный класс из IL в контексте F#. А что с тормозной работой объединений?

Andrey
13.03.2018
08:27:04
это не столько Big Data, сколько справочная информация

которой действительно может быть несколько гигабайт

как правило потребность в ней возникает тогда, когда есть требование работы с ней в offline

Google
?‍?
13.03.2018
08:29:07
Я про F# специфичные штуки, да. Например, информация о том, чем является определенный класс из IL в контексте F#. А что с тормозной работой объединений?
Видел результаты сравнения match выражений для перечислений и юнионов, в силу чего юнионы проседают, рефлексия какая или где посмотреть (мб GitHub)?

Pavel
13.03.2018
08:30:27
там копеечная просадка. по сравнению с запросом в 500 мс к локальной базе ее невозможно заметить

Vasily
13.03.2018
08:32:21
Интересно, с каких пор HR интересуются f#

Хотя лестно, да

Pavel
13.03.2018
08:33:14
Ты видел зарплаты?! HR получает процент от найма.

Поэтому и стремятся в чаты самых успешных программистов

Vasily
13.03.2018
08:33:59
правда, вакансия, которую девушка опубликовала в соседнем чатеге, она про dba , причем оракловский

Siarhei
13.03.2018
08:34:09
Видел результаты сравнения match выражений для перечислений и юнионов, в силу чего юнионы проседают, рефлексия какая или где посмотреть (мб GitHub)?
в случае DU и f# компилер вам всунет enum tag и через него будет идти проврка с последующим приведением это не тоже самое что в сисярпе юзать pattern matching по типу, а-ля: switch case ClassA a: case ClassB

Vasily
13.03.2018
08:34:16
Поэтому и стремятся в чаты самых успешных программистов
А я-то думал, это потому, что я симпатичный :(

Pavel
13.03.2018
08:34:40
А это уже сексизми и гендерное неравентво! Фу таким быть.

Vasily
13.03.2018
08:35:16
Evgeniy
13.03.2018
08:35:51
Давайте с оффтопом в @dotnettalks. // вы ждали, когда я это скажу

Видел результаты сравнения match выражений для перечислений и юнионов, в силу чего юнионы проседают, рефлексия какая или где посмотреть (мб GitHub)?
Можно помедитировать над IL. https://sharplab.io/#v2:DYLgZgzgNAJiDUAfALgTwA4FMAEBVAdgJYD2+2AvNgLABQ22i2AgtsWNgB4iH7LYBU2VN1616jAEKt2ALxHIxDbAGFFtANoAeAMrIATgFcAxsgB8AXVpos2bQRJlyixtpZtO8gUPnPbU93I8CnRK2qohtMCYfGDExABGAIZ6nBTUIQC2ichGABapAO6EyLm+LAAUHFBCAJTYALSmqfBCvlIyDU0yvsqd2AAMajRRfBCxCcmplIpZOfkc2EUlvq7YldWodY3NrSEu7X3de7a92/1AA===

Александра
13.03.2018
08:38:00
А вы то предпочитаете, тайп провайдеры или интити фреймуок?
Вы знаете, это не профиль моей деятельности, а вот, насчет процента и почему именно в ваши чаты стремимся попасть- да, все именно так. Ничего плохого не вижу в том, чтобы быть взаимополезными друг другу?

Pavel
13.03.2018
08:38:15
Я тоже, помогайте мне.

Александра
13.03.2018
08:38:38
Александра
13.03.2018
08:40:22
где их можно обозреть?
В личном чате со мной?

Google
Александра
13.03.2018
08:43:40
Интересно, с каких пор HR интересуются f#
Хороший рекрутер интересуется всем и в особенности Теми, кто может бомбануть?

Evgeniy
13.03.2018
08:48:43
странно что int ? я когда у себя на локали экспериментировал он мне enum создавал (хотя мб всё дело еще в декомпилире)
Нужно еще помнить, об одной особенности. Объединения малых размеров матчатся с помощью isinst, а большие через целочисленный тег. Struct DU всегда через тег. cc @yerumaku

?‍?
13.03.2018
08:50:52
Покажите!
Предательская скорость работы интернет. Сравнение по typeid? Это было в какой-то статье, которую пока не смог найти, не помню, добавлял ли в закладки дома в браузере. Разницу в цифрах показало на уровне страха использования юнионов (в циклах), но, спасибо, отлегло.

Evgeniy
13.03.2018
08:52:12
Ну, объединений точно не нужно боятся. Это чуть ли не главная фича F#. :)

Vasily
13.03.2018
08:53:45
Я бы сказал, не стоит заниматься premature optimizations

Pavel
13.03.2018
08:54:09
главная фича - pattern matching . без нее эти объединения неинтересны

Pavel
13.03.2018
08:55:21
Интересны. Мне вот сейчас приходится их выдумывать, чтобы отдать стрим событий

я готов иф и свичи писать, только чтобы не object/dynamic возвращать, как мне тут архитектор рекомендует

(и да, пишу на c#, unfortunately)

Pavel
13.03.2018
08:58:08
Pavel
13.03.2018
08:58:30
Зачем C#, если сразу F# можно?

Pavel
13.03.2018
08:59:46
(и да, пишу на c#, unfortunately)
так можно или нельзя. если можно и вопроса нет

Pavel
13.03.2018
08:59:49
Если F# нельзя, то такой трюк не пройдет.

Тут логичней взять какой-нибудь protoc и им контракты сконпилировать в C# - protobuf поддерживает discriminated unions

И не так страшно для C#-шопов

?‍?
13.03.2018
09:01:42
Ну, объединений точно не нужно боятся. Это чуть ли не главная фича F#. :)
А можно больше примеров их использования из реальных проектов? Пока что использую всего в нескольких местах, [но это скорее связано с тем, что логика проекта пока еще остаёт от типоописаний сохраняемых сущностей, на которые пока сделан упор. ]

Pavel
13.03.2018
09:03:13
Есть у тебя биржа, с API web-socket

Оно тебе JSON-ом сыплет туда разнородным, а тебе IEnumerable (для простоты) по нему надо сделать

Какой тип под IEnumerable будет?

type Message = Connected of Connected | Authenticated of Authenticated | ...

Google
Pavel
13.03.2018
09:05:27
Это самый понятный пример, на мой взгляд (я про Choice / Option не буду тут писать, тем кто из C# приходит не сразу понятно, о чем речь)

Vasily
13.03.2018
09:06:58
Какой тип под IEnumerable будет?
Тут нужен кастомный JSON сериализатор

?‍?
13.03.2018
09:07:01
Это самый понятный пример, на мой взгляд (я про Choice / Option не буду тут писать, тем кто из C# приходит не сразу понятно, о чем речь)
Я так понимаю JSON можно отлично разобрать в дерево через размеченные, или вы не это имели в виду (но сейчас напишите, "и это тоже")

Vasily
13.03.2018
09:07:12
И на c# ты эту проблему тоэже не очень решишь

Pavel
13.03.2018
09:07:14
Тут нужен кастомный JSON сериализатор
Это понятно, из него вываливаться-то что будет?

Vasily
13.03.2018
09:07:24
Pavel
13.03.2018
09:07:38
Ну а что правильно? На мой взгляд - DU правильно выплевывать.

Я как раз про семантику этого "сериализатора" говорил, а не про реализацию

На C# приходится выплевывать Object / IMessage и дальше проверять через C#-паттернматчинг

if (msg is Authenticated auth) { ... }

Vasily
13.03.2018
09:11:19
Вообще, если говорить о решении подобного рода задач на C# и на F#, то требования к данным несколько другие

Pavel
13.03.2018
09:11:43
Давай поговорим об этом.

Siarhei
13.03.2018
09:11:58
if (msg is Authenticated auth) { ... }
или берешь добавляешь MessageType

Pavel
13.03.2018
09:12:12
или берешь добавляешь MessageType
Это просто вопрос как дискриминатор указать.

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