
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

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"
если нужны подробности - выложу

Roman
03.04.2018
07:19:57

??
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

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

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

Roman
03.04.2018
07:41:06

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

Sergey
03.04.2018
09:13:21

??
03.04.2018
09:18:49

Sergey
03.04.2018
09:20:20

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

Vlad
03.04.2018
11:15:04

Evgeniy
03.04.2018
11:15:17

Roman
03.04.2018
11:28:15

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

Evgeniy
03.04.2018
11:40:47

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
?

Evgeniy
03.04.2018
11:53:57

Vlad
03.04.2018
11:55:42

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

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

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

Roman
03.04.2018
12:09:07

Roman
03.04.2018
12:09:48

Evgeniy
03.04.2018
12:11:02

Anna
03.04.2018
12:11:09

Roman
03.04.2018
12:22:29

Roman
03.04.2018
12:22:45

Google

Vlad
03.04.2018
12:37:17

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

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

??
03.04.2018
12:42:45

Artemy
03.04.2018
12:44:11

Vlad
03.04.2018
12:44:17

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

??
03.04.2018
12:46:31

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
Есть ещё 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

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

Friedrich
03.04.2018
13:59:00

Vasily
03.04.2018
13:59:05

Friedrich
03.04.2018
13:59:28

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 подкажет еще.


Friedrich
03.04.2018
15:47:55