
Vasily
24.07.2017
07:29:11
Проблема строковых экспрешнов в том, что они упадут в рантайме

Evgeniy
24.07.2017
07:29:59
@Dolfik То есть у тебя может быть получится сделать интерполяцию примитивных типов в запрос, но не кусков запросов. И уж тем более без compile-time проверок.
Вся беда в том, что printf-like механизм в F# не расширяемый.
Как, например, строковая интерполяция в Scala.

Google

Nikolay
24.07.2017
07:31:49

Friedrich
24.07.2017
07:31:49
Или в C# :(

Nikolay
24.07.2017
07:34:53
Кстати спасибо

Evgeniy
24.07.2017
07:36:12
Что прям фу-фу-фу.

Nikolay
24.07.2017
07:36:55
А, ты имеешь ввиду писать Sql прямо в коде, это фигово?
Ну да

Evgeniy
24.07.2017
07:37:01
Нет.
Писать SQL в коде — это офигенно!
@Dolfik Как ты будешь делать составные запросы?

Vasily
24.07.2017
07:40:04
Не ту проблему решаете, походу

Evgeniy
24.07.2017
07:40:44

Google

Nikolay
24.07.2017
07:41:04
Типа
select * from a
select * from b;
?

Evgeniy
24.07.2017
07:42:44
Вот пример, когда мы собираем запрос в рантайме. По условию выбираем предикат для where и подставляем его в запрос.
И выше примеры когда части запроса просто в отдельных переменных лежат.

Nikolay
24.07.2017
07:45:16
Ну разве что повторять запрос
Хз ещё как

Evgeniy
24.07.2017
07:46:18
Вот это большая проблема. С printf-like функцией все хорошо, когда запросы простые.
https://github.com/Microsoft/visualfsharp/pull/921
Закрыли. .__.

Nikolay
24.07.2017
07:53:10

Vasily
24.07.2017
08:09:19

Anton
24.07.2017
10:13:28
Воообщем. Создал пару тикетов по asp.net, думаю, кому тоже интересно будет. На F# это же тоже вроде распростроянется.
https://youtrack.jetbrains.com/issue/RIDER-8088
https://youtrack.jetbrains.com/issue/RIDER-8087

ect"==typeof module.exp
24.07.2017
11:38:04

Evgeniy
24.07.2017
11:39:13

ect"==typeof module.exp
24.07.2017
11:39:31
Примерно понял причину, но не решил
там ionide-fsharp конфликтует с новым MSBuild идущим в комплекте к VS2017 в итоге какая-то дополнительная утилита улетает с переполнением стэка, а какая-то из конфликтующих DotNet библиотек непонятно что делает вызывая BSOD

Evgeniy
24.07.2017
11:43:59

ect"==typeof module.exp
24.07.2017
11:44:05
уже был
без BSOD правда, но уверен что проблема смежная

Google

Evgeniy
24.07.2017
11:44:35
Ну, ты там тыкни разок, вдруг забыли.

ect"==typeof module.exp
24.07.2017
11:44:47
https://github.com/fsharp/FSharp.Compiler.Service/issues/672

Roman
24.07.2017
11:45:13
я че-то ничего хорошего еще не слышал про 2017 студию. Вечно у кого-то что-то не ладится, рушится и не работает.

Evgeniy
24.07.2017
11:45:38

ect"==typeof module.exp
24.07.2017
11:45:47
ладно бы оно внутри самой студии рушилось, оно всё вокруг рушит
казалось бы не использую ни IDE от неё, ни родной её Фрэймворк, а ведь всё-равно умудряется.

Evgeniy
24.07.2017
11:47:31
Все это кажется мне довольно странным.

ect"==typeof module.exp
24.07.2017
11:57:49
Ещё бонусом иногда мелькание всего экрана при запущеном VScode / Atom при установленом Ionide

Anton
24.07.2017
13:08:58
В Rider завезут Paket! Уря!
https://youtrack.jetbrains.com/issue/RIDER-552
А в целом, почитал всё что завезут в Rider 2017.2 для F# и был очень приятно удивлён.

Igor
24.07.2017
13:10:41
Акиньшин еще прошлой осенью обешал что завезут, ну наконец то (только я не понимаю зачем он на core clr)

Nikolay
24.07.2017
13:14:30
Кстати, только у меня ionide после последнего обновления стал хуже работать?
Хотя может он и работал так, но чёт прям много косяков вылазит
Из тех, что щас вспомнил:
1. Не всегда видит новые добавленные пакеты через dotnet add package, фиксится перезапуском
2. Отвалился fsi по Alt+Enter

Evgeniy
24.07.2017
13:18:24

Anton
24.07.2017
13:18:32
Хм, пишу в F# в райдере с появления там онного. Всё нравится.
видеть там Paket очень рад.

Nikolay
24.07.2017
13:18:52

Evgeniy
24.07.2017
13:22:20

Google

Nikolay
24.07.2017
13:23:53
Теперь опять сломалось
А с dotnet add хз, оно не всегда воспроизводится, я пока закономерность не нашёл

Aminion
24.07.2017
17:37:47
Так, я что, не могу запарсить число в функциональном стиле, не плодя мьютейбл?

Klei
24.07.2017
17:42:05

Aminion
24.07.2017
17:43:17
М, хоть так, не пойму почему не запилили обертки в опшн

Evgeniy
24.07.2017
17:44:04
Например, недавно решили, что не хватает функций для работы со строками.
https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1033-extend-string-module.md
Можно распространять вместе с видео. :)
https://www.youtube.com/watch?v=KPa8Yw_Navk
Get Started with F# as a C# developer
https://blogs.msdn.microsoft.com/dotnet/2017/07/24/get-started-with-f-as-a-c-developer/

Летучая
24.07.2017
18:14:00
То-то в каждом проекте появляется папочка extensions с модулем tools ? (ну или типа того)

Vasily
25.07.2017
07:36:49
split: Should this function take a seq or seq, or both?

Anton
25.07.2017
12:14:59
@Worldbeater ну, у нас в C# так точно подобное появляется =)
А в F# что ли тоже есть экстеншены как в C# ?

Evgeniy
25.07.2017
12:15:51

Anton
25.07.2017
12:15:56
о как

Vasily
25.07.2017
12:37:02
По факту все методы типа Seq.map являются экстеншнами

Летучая
25.07.2017
12:55:55

Pavel
25.07.2017
13:00:08

Vasily
25.07.2017
13:00:37
по факту экстеншн является синтаксическим сахаром

Google

Pavel
25.07.2017
13:03:02
это да, тогда скорее правильнее будет наоброрт. Не функции модуля являются экстеншенами, а экстеншены являются функциями модуля...

Vasily
25.07.2017
13:03:36
Как называть, вообще не важно

Pavel
25.07.2017
13:04:19
ну синтаксис то разный :)

Vasily
25.07.2017
13:04:25
Главное, чтобы не было такого - жопа есть, а слова нет

Friedrich
25.07.2017
13:40:52
https://github.com/Microsoft/visualfsharp/pull/3365#pullrequestreview-52050222
Посаны, мой PR апрувнул Сайм ❤️

Vasily
25.07.2017
13:41:16

Evgeniy
25.07.2017
13:45:29

Roman
25.07.2017
15:30:06

Evgeniy
25.07.2017
17:28:37
https://github.com/NuGet/NuGetGallery/pull/4437

Летучая
25.07.2017
18:00:06
Зачем нужен Paket?

Evgeniy
25.07.2017
18:01:08
Первый вопрос. :)

Летучая
25.07.2017
18:04:15
Имхо, недостатки нугета — это стимул фокусироваться на доработке нугета, а не на создании еще одного пакетного менеджера...

Evgeniy
25.07.2017
18:04:29
tl;dr lock-файл, кеширование, solution-wide пакеты

Oleg
25.07.2017
18:05:40
это как yarn vs npm. Проще сделать правильно, чем пытаться сделать конфетку из непонятного
нугет имеет врожденные недостатки, как-то заточенность под решения из одного проекта

Летучая
25.07.2017
18:09:35

Oleg
25.07.2017
18:11:00
В Неткоре проектах пакет не пробовал, не скажу. Чем в обычных проектах отличается рассказать? ?

Летучая
25.07.2017
18:11:56

Oleg
25.07.2017
18:14:31
упомянутый лок-файл опять же, его надо добавлять в VCS, тогда результат "вытягивания сборок" не будет зависеть от времени, порядка проектов и пр.