
Oleg
03.08.2017
10:51:44

Evgeniy
03.08.2017
10:56:33
https://twitter.com/thewhitetigle/status/892997147712520192

Roman
03.08.2017
17:45:33

Google

Evgeniy
03.08.2017
18:10:16
https://blog.jetbrains.com/dotnet/2017/08/03/rider-2017-1-jetbrains-net-ide-hits-rtm/
Кто-нибудь следит, поддержка F# улучшается?

Vlad
03.08.2017
18:10:58
А в каком состоянии она в райдере сейчас?

Evgeniy
03.08.2017
18:11:36
Ладно, у меня где-то была студенческая лицензия.
Надо самому проверить.

Igor
03.08.2017
19:04:38
А в f# директивы препроцессора (как c#)?

Evgeniy
03.08.2017
19:12:41
Уж не знаю, есть ли это в доке.
Но в 4.0 что-то добавляли.
https://github.com/fsharp/fslang-design/blob/master/FSharp-4.0/ExtendedIfGrammarDesignAndSpec.md

Igor
03.08.2017
19:13:46
Жалко, стремная штука все таки

Google

Evgeniy
03.08.2017
19:14:43
Ага, Rider, значит, умеет открывать .fsproj, но ничего не умеет с ним делать.
Подождем еще.

Vlad
03.08.2017
19:34:50
А сколько людей пилят райдер известно?

Evgeniy
03.08.2017
19:47:06
> Another mentorship round is planned for the beginning of September, registration will be opened in the beginning of August!
Может у кого есть для этого свободное время и желание.

Nikolay
03.08.2017
19:53:03
Fantomas'ом что-ли заняться

Igor
03.08.2017
19:56:59
Портани его на core clr и запили daemon режим

Nikolay
03.08.2017
20:06:36
Я щас смотрю, чёт там как-то совсем плохо всё
Это типа норм?

Igor
03.08.2017
20:10:41
Это типа норм?
Это печально.
А у автора нет бранчей / форков / PR с попытками портировать?

Nikolay
03.08.2017
20:13:09
Не нашёл
Даже issue Нет

Igor
03.08.2017
20:16:47
Как все запущенно.
А paket.lock надо коммитить же?

Nikolay
03.08.2017
20:17:48
Я просто не шарю в FAKE и Paket, это пока для меня сложновато :)

Igor
03.08.2017
20:21:05
С огромной попоболью, но я все таки перевел fantomas VSCode плагин на F# с Fable ? (с typescript)
За одном узнал столько всего нового про fable (ненавижу б### webpack/npm/и все с ними связанное).
https://github.com/y2k/FantomasVSCode

Nikolay
03.08.2017
20:21:31

Evgeniy
04.08.2017
05:45:15

Nikolay
04.08.2017
05:56:15
А я перед работой потыкался в Rider. F# под Core пока плохо поддерживается.

Google

Nikolay
04.08.2017
05:56:16
Жду 2017.2
@gsomix с этого места подробнее :)

Evgeniy
04.08.2017
05:57:23
А я выше писал, что Rider F# Core проекты только открывать умеет.
И все. :С

Vlad
04.08.2017
05:58:55
Зачем они тогда его релизят?

Evgeniy
04.08.2017
05:59:15

Vlad
04.08.2017
05:59:31

Nikolay
04.08.2017
05:59:57
New cross-platform .NET IDE
New cross-platform C# IDE
:)

Vlad
04.08.2017
06:00:01
С# же.
Ну, они могли бы рынок хапнуть с нормальной поддержкой f#

Evgeniy
04.08.2017
06:00:52
Они бы его опенсорснули поскорее
Тогда дело пошло бы.
Например, vaskir бы подключился.

Nikolay
04.08.2017
06:09:33
https://www.nuget.org/packages/NuGet.CommandLine/
Что это за пакет?

Evgeniy
04.08.2017
06:11:52
Наверное, можно установить в проект, чтобы вызывать из скриптов.

Nikolay
04.08.2017
06:13:10
Оокей
Странная херня, ну да ладно

Evgeniy
04.08.2017
06:14:00

Google

Nikolay
04.08.2017
08:00:14
@gsomix а ты говорил про ScalalikeJDBC? Что было бы круто сделать?

Evgeniy
04.08.2017
08:00:38

Nikolay
04.08.2017
08:00:44
Угу
Ты именно имел ввиду DSL?

Evgeniy
04.08.2017
08:01:28
Если бы в F# printf-like функции поддерживали бы кастомные флаги, то можно было бы безопасно с точки зрения компил-тайма составлять запросы.

Nikolay
04.08.2017
08:03:16
Ну можно попробовать написать свой DSL
Тогда составные запросы получатся
let condition min max = sqlQuery """Id > %i and Id < %i""" min max
sqlQuery """select * from SomeTable where %O""" (condition 1 100)
По идее можно сделать так

Evgeniy
04.08.2017
08:08:10

Nikolay
04.08.2017
08:08:13
Только обработчик добавить, что если аргумент типа SqlQuery, то текст запроса пихать как строку, и добавлять параметры

Evgeniy
04.08.2017
08:08:24
Ты вместо адекватного SqlQuery может любую строку запихнуть.

Nikolay
04.08.2017
08:09:04
Я не очень понял тебя, ты это в тему Sql Injection?

Evgeniy
04.08.2017
08:09:28
Да.

Nikolay
04.08.2017
08:09:33
Не, ты не понял
condition будет типа SqlQuery
И будет содержать такие параметры:
Text = "where Id > @p0 and Id < @p1"
Parameters = [ "@p0", min; "@p1", max ]

Evgeniy
04.08.2017
08:12:16
condition будет типа SqlQuery
Да, я понимаю. Просто фишка ScalikeJDBC именно в том, что он во время компиляции проверяет, например, что ты в строку интерполируешь именно SqlQuery, а не любой другой объект.
Чуть безопаснее.

Nikolay
04.08.2017
08:12:25
А мы уже будем объединять, заменим @p0 на @p0_1 и добавим строку
Ну это хреново, да

Google

Evgeniy
04.08.2017
08:12:54
Но твою идею я понял, да. Мне нравится. :)

Nikolay
04.08.2017
08:13:03

Evgeniy
04.08.2017
08:13:06
Конечно!

Nikolay
04.08.2017
08:13:28
А в F# кастомные типы не планируют?
Я видел только про string interpolation

Evgeniy
04.08.2017
08:13:59
Вроде нет, printf довольно сильно захардкоженный.

Roman
04.08.2017
08:37:54
Эту фцию можно собирать с помощью квотирования

Nikolay
04.08.2017
08:41:28

Vasily
04.08.2017
09:05:44
квотейшны там норм зайдут

Igor
04.08.2017
10:35:30
Есть у кого Rider последний?
Попробуйте воспользоваться подсказкам ввода F# в Distraction Free Mode.
(хочу понять только у меня они не работают в нем)

Andrew
04.08.2017
10:45:41
там есть _distraction_ mode?

Nikolay
04.08.2017
10:58:20
Хм, а как квотейшном создать функцию с n аргументами?

Evgeniy
04.08.2017
10:59:20
Давай с этим определимся сразу.

Nikolay
04.08.2017
11:02:28
Допустим есть такое выражение: let test str = <@ ... @>
Вызываем: test "%i %s"
Должно вернуть (int -> string -> unit)

Evgeniy
04.08.2017
11:08:10

Nikolay
04.08.2017
11:08:45

Roman
04.08.2017
11:08:48
По моему вы изобретаете SqlProvider