@Fsharp_chat

Страница 251 из 772
Oleg
03.08.2017
10:51:44
Вот solution explorer
Точно! Вот же он в уголке был (недостатки большого монитора)

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

Roman
03.08.2017
17:45:33
В .Net Core в целом нормально ручками править файл
Пока файлов немного, да. Но потом как-то не очень

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
А в каком состоянии она в райдере сейчас?
Это мне и интересно узнать. Когда я давным-давно смотрел, то не было поддержки Core.

Ладно, у меня где-то была студенческая лицензия.

Надо самому проверить.

Igor
03.08.2017
19:04:38
Ладно, у меня где-то была студенческая лицензия.
Там триалка есть (я поддержки не нашел)

А в f# директивы препроцессора (как c#)?

Evgeniy
03.08.2017
19:12:41
А в f# директивы препроцессора (как c#)?
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-directives

Уж не знаю, есть ли это в доке.

Но в 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
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
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
Ну, они могли бы рынок хапнуть с нормальной поддержкой f#
Не успели. Я не думаю, что там много народа работают над плагином.

Они бы его опенсорснули поскорее

Тогда дело пошло бы.

Например, 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
@gsomix а ты говорил про ScalalikeJDBC? Что было бы круто сделать?
Помнишь, я тебе рассказывал про составные запросы?

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) По идее можно сделать так

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
Но твою идею я понял, да. Мне нравится. :)

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
Вроде нет, printf довольно сильно захардкоженный.
Насколько я помню printfn разворачивается в ф-цию типа fun string, param1:type, param2:type2, paramN:typeN -> native

Эту фцию можно собирать с помощью квотирования

Nikolay
04.08.2017
08:41:28
Эту фцию можно собирать с помощью квотирования
Да, я тоже думал про quotations, но пока не осилил)

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
Допустим есть такое выражение: let test str = <@ ... @> Вызываем: test "%i %s" Должно вернуть (int -> string -> unit)
Это так не работает. Quotations только позволяют работать с деревьями выражений. Есть возможность, например, скомпилировать quotation tree с помощью FCS, эдакий multi-stage programming. Я не знаю, поддерживает ли библиотека .Net Standard. https://github.com/eiriktsarpalis/QuotationCompiler

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