@Fsharp_chat

Страница 532 из 772
Evgeniy
03.04.2018
07:11:02
Списки
Ты хотел сказать "мапы".

Vasily
03.04.2018
07:11:20
Ты хотел сказать "мапы".
Ну в частном случае да

Roman
03.04.2018
07:11:45
А, fable онли типы. Ну мб

Evgeniy
03.04.2018
07:12:00
Это потеря типизации.

Google
Roman
03.04.2018
07:12:49
Это потеря типизации.
Да не, они там сделаны через DU

Alex
03.04.2018
07:12:52
Вроде бы достаточно двух ;;

Evgeniy
03.04.2018
07:13:38
?‍?
03.04.2018
07:13:56
Вроде бы достаточно двух ;;
Да-да, но без этой пары оно не может стартануть.

Evgeniy
03.04.2018
07:14:03
Я про то, что представление модели через мапу — это потеря типизации.

Alex
03.04.2018
07:14:15
Roman
03.04.2018
07:16:38
Кто "они"?
Такие типы. type MyJsType = | FieldOne | FieldTwo of String let myFunc (a: MyJsType list) = ...

А, ну да. Усечения все же нет)

?‍?
03.04.2018
07:19:22
Подскажите еще, это правильная либра? Было дело её требовал EF, но при добавлении потом ругается на IDisposable и прочие странности #r @"C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\NETStandard.Library\2.0.1\build\netstandard2.0\ref\netstandard.dll" если нужны подробности - выложу

?‍?
03.04.2018
07:20:08
Не понятно
Минутку тогда





Google
Roman
03.04.2018
07:23:36
По моему нестандарт все ещё не работает с fsi, могу ошибаться

Vasily
03.04.2018
07:23:53
Не работает вроде как, да

Только неткор скорее

Roman
03.04.2018
07:24:31
?‍?
03.04.2018
07:25:41
Только неткор скорее
Тогда как тестить EF через FSI?

По моему нестандарт все ещё не работает с fsi, могу ошибаться
В обозримом будущем будет или можно не надеяться?

Evgeniy
03.04.2018
07:36:14
Будет.

?‍?
03.04.2018
07:40:27
Будет.
Через #if можно как-то экранировать часть кода от FSI?

Roman
03.04.2018
07:41:06
Через #if можно как-то экранировать часть кода от FSI?
Да, там есть #if Interactive (надо на мсдн посмотреть)

Evgeniy
03.04.2018
07:41:19
https://twitter.com/dsyme/status/980894364372295683

Sergey
03.04.2018
09:13:21
Да, там есть #if Interactive (надо на мсдн посмотреть)
#if INTERACTIVE - https://docs.microsoft.com/en-us/dotnet/fsharp/tutorials/fsharp-interactive/index#differences-between-the-interactive-scripting-and-compiled-environments

?‍?
03.04.2018
09:18:49
#if INTERACTIVE - https://docs.microsoft.com/en-us/dotnet/fsharp/tutorials/fsharp-interactive/index#differences-between-the-interactive-scripting-and-compiled-environments
Надо будет добавить туда пример с INTERACTIVE, а то инфа только на SOF об этом была

Sergey
03.04.2018
09:20:20
Надо будет добавить туда пример с INTERACTIVE, а то инфа только на SOF об этом была
не плохая идея, еще вот тут полезные советы - http://brandewinder.com/2016/02/06/10-fsharp-scripting-tips/

Roman
03.04.2018
11:08:48
@neftedollar кажется, ты спрашивал про сериализацию и все такое. Ща обнаружил, что в FSharpLu.Json Compact.serialize иногда выкидывает NullReferenceExcpetion при сериализации DU.

самое смешное, что, похоже, срабатывает просто поймать исключение и сделать повторный вызов. Цирк

Google
Roman
03.04.2018
11:35:30
А ишуй есть?
Ещё не проверял, чуть позже займусь этим

Roman
03.04.2018
11:37:44
Прост по моему есть шанс, что и в кэтч это сломается.

Vlad
03.04.2018
11:39:36
https://twitter.com/torhovland/status/980917135609401349?s=12

Vladimir
03.04.2018
11:48:31
This combines the power of a templating engine with the familiarity of HTML, like JSX, and is much less alien than the view languages used in Elm and Fable. - плюсую

Evgeniy
03.04.2018
11:52:13
Алекс ^

Алекс
03.04.2018
11:53:42
?

Vlad
03.04.2018
11:55:42
Не нравится описывать UI прямо в коде?
то что оно не пытается собой view рендеринг заменить)

Vladimir
03.04.2018
11:57:08
Неа, моя голова не может соединить два мира воедино) Скорее всего потому что теряются подсветки, привычные тэги и отступы, автокомплиты для тэгов, пропертей и классов.

Roman
03.04.2018
11:58:07
Прост по моему есть шанс, что и в кэтч это сломается.
Гипотетически есть, но баг плавающий, и я пока не понял закономерность. Единственное, что заметил - падает на кейсе DU без внутренних полей.

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

Anna
03.04.2018
12:03:30
или это особенности студии :)

Roman
03.04.2018
12:09:07
Roman
03.04.2018
12:09:48
интересно, а есть какие-то дополнительные сложности при разработке тулов для F#?
Думаю, тут проблема неуловимого Джо, но я не настоящий сварщик

Evgeniy
03.04.2018
12:11:02
интересно, а есть какие-то дополнительные сложности при разработке тулов для F#?
Сложности есть, конечно. Ну, я не про эту ситуацию, а в общем. Есть такие места: - порядок файлов - отладка в computational expressions - стектрейсы в async - отладка цепочек функций - провайдеры типов и их статические параметризуемые методы Это из того, что я вспомнил. Может @auduchinok подкажет еще.

Anna
03.04.2018
12:11:09
Roman
03.04.2018
12:22:45
Ага
Контекст?

Google
Most
03.04.2018
12:37:33
Почему-то на него мало кто переходит)

Vlad
03.04.2018
12:37:49
не лагает, не вылетает ничего внезапно

Artemy
03.04.2018
12:44:11
молюсь на райдер, даже сейчас он удобнее студии
А у меня ему не нравятся проекты, созданные студией. :(

Vlad
03.04.2018
12:44:17
Что это?
jetbrains rider

Artemy
03.04.2018
12:46:02
А, ещё не хватает подсветки в подсказках, а также показа в подсказках конкретных типов, которые подставляются вместо обобщённых

?‍?
03.04.2018
12:46:31
jetbrains rider
Не бесплатное -.-

P
03.04.2018
12:52:23
Не бесплатное -.-
Для опенсорса - бесплатное

Vladimir
03.04.2018
13:17:18
а студия бесплатная и не для опенсорса

Andrey
03.04.2018
13:20:26
Bonart
03.04.2018
13:22:33
EAP - есть не всегда и глюковать имеет право официально

Andrey
03.04.2018
13:23:45
EAP - есть не всегда и глюковать имеет право официально
Выбирай, или без глюков или бесплатно.

Есть ещё vscode.

Bonart
03.04.2018
13:24:22
Лично у меня райдер и так есть

Джентльмены, нет ли у кого желания сделать доклад на московском .NET митапе?

Vasily
03.04.2018
13:48:30
А про что докладывать-то?

Bonart
03.04.2018
13:49:38
А на ваш выбор - чем хотите поделиться и что распространить.

Vasily
03.04.2018
13:49:48
Я ща, конечно, пишу наркоманский сериализатор... но его еще надо до ума довести

Bonart
03.04.2018
13:50:04
А то уже митапов скоро десятка 2 а по F# ни одного доклада не было. Непорядок

Google
Friedrich
03.04.2018
13:57:32
Я ща, конечно, пишу наркоманский сериализатор... но его еще надо до ума довести
Доклад на тему «Как я сериализовал до 30к наркоманов в секунду с помощью F#» :)

Artemy
03.04.2018
13:58:40
Репортите, всё репортите!
А это проблема, схожая с той, которую я когда-то описывал. Там, вероятно, на моей стороне что-то не так.

Friedrich
03.04.2018
13:59:00
Friedrich
03.04.2018
13:59:28
А это проблема, схожая с той, которую я когда-то описывал. Там, вероятно, на моей стороне что-то не так.
Необязательно что в Rider прям всё тебе починят, но смогут хоть диагностику такой ситуации улучшить по итогам.

Vasily
03.04.2018
14:00:18
Просто хочу, по факту, написать объект->AST->произвольный формат

Artemy
03.04.2018
14:02:40
Знаешь, я бы сначала зарепортил, а потом уже разбирался!
"Репорт всему голова" "Репорт сделал — разбирайся смело"

Ладно, надо сформулировать проблему и зарепортить, наверное

А то в студии всё без проблем открывается

Eugene
03.04.2018
15:22:03
Буду рад посмотреть на репро. ;)

А у меня ему не нравятся проекты, созданные студией. :(

А, ещё не хватает подсветки в подсказках, а также показа в подсказках конкретных типов, которые подставляются вместо обобщённых

Vlad
03.04.2018
15:37:04
Буду рад посмотреть на репро. ;)
Кстати, баги на гитхабе лучше не писать же? А то там ишуи открыты

Vasily
03.04.2018
15:38:41
Мда, удивительное рядом

ДЛя выражения f a b сначала будет вычислено b

Потом применено к f a

Eugene
03.04.2018
15:45:14
В целом всё так. В случае с райдером ещё сложность в том, чтобы протащить всё из FCS в решарпер, и чтобы при этом оно не стало сильно медленнее. Из интересных сложностей: в других языках обычно можно по синтаксису понять, во что скомпилируется декларация символа хотя бы на уровне "это будет класс" или "это будет интерфейс" и это позволяет строить кэш по синтаксическим деревьям, а потом уже поверх него и информации из сборок и другого кода можно выводить остальное, например, считать типы в методе или базовые классы. В F# же часто нельзя понять, что получится в скомпилированной сборке, и это усложняет анализ F# <-> C# в случае с решарпером и вообще интеграцию с его кэшами. Например, до резолва/вывода типов неизвестно, во что скомпилируется тип, ведь, например, атрибут [<Class>] может порезолвиться во что-нибудь другое, если его переопределить. Или нельзя синтаксически отличить Union с одним случаем и без | от аббревиатуры типы. Если делать честный резолв, то это будет крайне медленно. В Rider/VS/Ionide есть эвристики, которые работают достаточно хорошо, но их все можно сломать. Ещё из похожего, например, нельзя понять, будет ли функция из F# методом или свойством в сборке. Проблема в выводе типов и порядке файлов. На текущий момент нельзя быстро узнать что-либо про произвольный файл, пока не пройдёт проверка типов для всех предыдущих файлов в проекте (что бывает достаточно долго), а прикрутить сюда инкрементальную инвалидацию, со слов Дона, будет довольно сложно.

Сложности есть, конечно. Ну, я не про эту ситуацию, а в общем. Есть такие места: - порядок файлов - отладка в computational expressions - стектрейсы в async - отладка цепочек функций - провайдеры типов и их статические параметризуемые методы Это из того, что я вспомнил. Может @auduchinok подкажет еще.

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