@Fsharp_chat

Страница 328 из 772
Andrew
27.09.2017
10:58:06
{ "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" }
Все-таки надо разобраться в этих конфигах :). Спасибо!

Evgeniy
27.09.2017
10:58:40
Дядюшка Дон решил поковырять "трейты". https://github.com/Microsoft/visualfsharp/pull/3582#issuecomment-331918589

Nikolay
27.09.2017
10:58:58
Когда F5 жмёшь и выбираешь .Net Core проект

Google
Andrew
27.09.2017
11:02:46
Когда F5 жмёшь и выбираешь .Net Core проект
ну для F5 я так понимаю надо tasks.json конфигурировать.

Evgeniy
27.09.2017
11:03:24
Дядюшка Дон решил поковырять "трейты". https://github.com/Microsoft/visualfsharp/pull/3582#issuecomment-331918589
Судя по тесту из коммита, вот такое уже работает: ttype System.Int32 with static member Add(a: System.Int32, b: System.Int32) = a + b type MyType = | MyType of int static member Add(MyType x, MyType y) = MyType (x + y) let inline addGeneric<^A when ^A: (static member Add: ^A*^A -> ^A)> (a,b): ^A = (^A : (static member Add : ^A * ^A -> ^A) (a,b)) let inline (+++) a b = addGeneric(a,b) [<EntryPoint>] let main args = MyType(1) +++ MyType(2) |> ignore 1 +++ 1

Nikolay
27.09.2017
11:04:14
ну для F5 я так понимаю надо tasks.json конфигурировать.
Нет. Ты жмёшь F5, он предлагает тебе выбрать тип проекта, который ты хочешь дебажить

А потом сам создаёт launch.json

Andrew
27.09.2017
11:05:17
У меня не так. У меня так ^



потому что не настроен build в tasks.json

Friedrich
27.09.2017
11:06:16
Потому что tasks.json есть, а настройки там нету.

Можешь удалить, и тогда оно предложит сгенерировать задачи по умолчанию.

Nikolay
27.09.2017
11:09:10
Удали папку .vscode

И попробуй снова

(или просто переименуй)

Andrew
27.09.2017
11:13:38
Удалил. Добавил конфигурацию отладки. Attach там появился. Далее сгенерировал tasks.build - вот такой:

Google
Andrew
27.09.2017
11:14:26
И в моем случае он выполняется с ошибкой (билдит не то, что нужно). Мне нужно билдить проект в папке console. Как это указать?



Roman
27.09.2017
11:16:33
Аналог cwd должен быть в настройках тачках

Таска

Andrew
27.09.2017
11:22:05
Ну в целом идею я понял. Спасибо. Я так полагаю папку .vscode тоже надо бы коммитить в репозиторий. Т.к. она может содержать таски для запуска и тестирования и профили отладки.

А еще такой вопрос: Если у меня в папке с решением несколько проектов, в этом случае launch и tasks должны быть для каждого проекта или единые для всех?

Папка .vscode создается в корне workplace и следовательно tasks и launch единые для всего workplace. При добавлении новых проектов, которые треюуют отладки или отдельных тасков, их надо вручную добавлять в tasks и launch

Vasily
27.09.2017
13:19:00
https://github.com/Microsoft/visualfsharp/pull/2667

Вот это интересно

Roman
27.09.2017
13:25:47
Вот это интересно
да, об аналогичной вещи говорилорсь и для C#. Это очень удобно.

Evgeniy
27.09.2017
13:59:46
https://github.com/fsharp/fslang-suggestions/issues/612

Friedrich
27.09.2017
14:00:29
https://github.com/fsharp/fslang-suggestions/issues/612
Господа (и дамы), ставьте лайк!

Vlad
27.09.2017
14:04:08
абуз лайков!

Andrew
27.09.2017
14:06:12


Roman
27.09.2017
14:08:20
https://github.com/fsharp/fslang-suggestions/issues/612
Это highloadcup так спровоцировал?

Friedrich
27.09.2017
14:08:44
Это highloadcup так спровоцировал?
Да не, мы давно уже этот вопрос обсуждали.

Google
Friedrich
27.09.2017
14:08:59
В hlcup мы активных паттернов не применяли, кажется.

Evgeniy
27.09.2017
14:21:50
Жалко, что кортежи, option, choice не были value types по умолчанию.

Friedrich
27.09.2017
14:23:22
А не всегда нужно value types.

Igor
27.09.2017
14:27:01
https://github.com/fsharp/fslang-suggestions/issues/612
Еще бы понимать о чем это

Vasily
27.09.2017
14:27:16
Ну как о чем

Evgeniy
27.09.2017
14:27:49
Еще бы понимать о чем это
Хотим лишние аллокации в активных шаблонах убрать.

Igor
27.09.2017
14:28:07
А где микробенчмарки и прототип?

Friedrich
27.09.2017
14:29:51
Чтоб написать прототип — надо быть семи пядей во лбу.

А вот микробенчмарков каждый может наделать, это да.

Лишние аллокации точно убирать нужно.

Evgeniy
27.09.2017
14:32:47
А где микробенчмарки и прототип?
Не путай предложение с RFC!

Pavel
27.09.2017
14:52:47
Вроде в fable была проблема с перфомансом из-за active patterns. После профилирования переписали без них и получили приличный прирост

Friedrich
27.09.2017
14:53:59
Не, там рантайм другой и проблемы другие. Про пользу этой фичи для Fable я говорить не готов.

Pavel
27.09.2017
15:01:06
Я про сам компилятор fable

Который f# AST превращает в fable AST а потом в babel AST

Friedrich
27.09.2017
15:05:35
Я про сам компилятор fable
А его разве щас уже не на Node.js гоняют?

Pavel
27.09.2017
15:07:22
А его разве щас уже не на Node.js гоняют?
С чего вдруг? Из js части там только плагин для вебпак (fable-loader), а сам fable на .net

Friedrich
27.09.2017
15:09:40
Неоднократно [1, 2] поднимались дискуссии про компиляцию Fable с помощью Fable. Однако, я не уверен, что они во что-то полезное в итоге вылились. [1]: https://github.com/fable-compiler/Fable/issues/381 [2]: https://github.com/fsharp/FSharp.Compiler.Service/issues/679

Google
Vladimir
27.09.2017
15:14:34
В hlcup мы активных паттернов не применяли, кажется.
Я жаловался кстати на них когда пытался все на структуры переделать)

А не, когда роутер свой писал

Там как раз PathString структура передается

и можно было бы ее через ActivePatterns распарсить, не писать кучу кода прямо в роутере

Roman
27.09.2017
15:40:44
Кстати, можно ли как-то в Fable +elmish сделать роутинг без # ? А то это невыносимо неудобно.

Vasily
27.09.2017
15:41:50
Там клиентский, шоле?

Roman
27.09.2017
16:13:21
Evgeniy
27.09.2017
16:16:04
Вы, наверное, пропустили утреннюю драму.

https://github.com/dustinmoris/Giraffe/issues/98

Igor
27.09.2017
16:29:08
Evgeniy
27.09.2017
16:30:40
Просвети в @dotnettalks
Я и здесь могу. :) Вчера вышла статья от Филлипа (VF# PM в MSFT) про построению веб сервисов на F#. Автор Suave немного расстроился, что в ней Giraffe используется. Ну, и вспылил.

Сейчас все хорошо.

Филлип пообещал в следующем месяце написать статью про Suave. :)

Igor
27.09.2017
16:32:37
- А к чему ищью? - Кто популярнее, живее? - Они разные, если да то кто лучше? Если одинаковые, то зачем два? - Будут в итоге мерджить, это вообще возможно?

Roman
27.09.2017
16:32:50
Я и здесь могу. :) Вчера вышла статья от Филлипа (VF# PM в MSFT) про построению веб сервисов на F#. Автор Suave немного расстроился, что в ней Giraffe используется. Ну, и вспылил.
Он вобще вспыльчивый, я помню в комментах к giraffe когда он был еще lambda был нешуточный скандал, по поводу, зачем вам giraffe если есть suave

Evgeniy
27.09.2017
16:33:23
Две библиотеки довольно похожи, но Giraffe по умолчанию базируется на Kestrel.

У Suave свой сервер, насколько я понял.

Google
Friedrich
27.09.2017
16:35:12
Нужно больше серверов!

Для Kestrel нужна альтернатива, и любые подвижки в этом направлении — это хорошо.

Evgeniy
27.09.2017
16:36:02
К сожалению, Suave довольно медленный. :(

Igor
27.09.2017
16:36:03
Хотелось что бы это был “плагин”, а не часть фреймворка

Pavel
27.09.2017
16:41:20
К сожалению, Suave довольно медленный. :(
Как верно заметил в одном из комментарией автор Suave, обычно боттлнек в вебприложениях совсем не там, где меряют синтетические бенчмарки вебсерверов. Мне кажеться разумнее делать выбор по другим критериям

Pavel
27.09.2017
16:54:18
Я что-то не совсем уловил поинт дискуссии. Автор жирафа хочет "вмержить" его в суав, чтобы упростить выбор фреймворка? Т.е. придется выбирать не фреймворк а сервер (родной суав или кестрел). Или что-то другое?

Pavel
27.09.2017
16:57:10
Как я понял, да. Был же от Кшиштофа экспериментальный Suave.Kestrel.
А еще есть https://github.com/SuaveIO/Suave.AspNetCore от автора жирафа

А вообще да, автор Suave очень вспыльчивый. Помню как он вспылил еще в посте про прототип Giraffe

Roman
27.09.2017
17:00:01
Evgeniy
27.09.2017
17:04:06
Лол. F# поддерживается. https://carbon.now.sh/

Можно делать хипстерские картинки и постить в телеграм вместо плейн текста.

Evgeniy
27.09.2017
17:20:12
Да, потому что F#/OCaml.

Заведи ишшуй!

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