
Most
28.02.2018
16:43:10
неужели тайп провайдеры?

Sergey
28.02.2018
17:58:04
https://github.com/fsprojects/FSharp.TypeProviders.SDK#updating-a-type-provider-to-be-suitable-for-use-with-the-net-sdk

Roman
28.02.2018
18:14:51

Sergey
28.02.2018
18:55:20
Потрясно!
вроде как не очень даже страшно, так главное на новый TPSDK перейти, а дальше работа мезаническая есть знаешь как работать с net core, fake, paket, new proj files format и т.д. =)

Google

Roman
28.02.2018
19:13:55
Тут как-то скидывали ссылку на дискуссию, в которой советовали любой ценой воздержаться от использования type providers в реальном проекте.
Объясните плз почему (кроме проблем с невнятными ошибками в SQL provider, что как я понял, проблема конкретной реализации) или дайте что-нибудь почитать на эту тему.

Evgeniy
28.02.2018
19:16:17
Все зависит, на самом деле, от качества конкретного провайдера. Прямо как с остальными библиотеками!

Roman
28.02.2018
19:17:50

Kirill
28.02.2018
19:18:38
Не скажу, что у меня есть какая-то богатая практика, но один раз решил использовать провайдер для ажуровского SQL, по сравнению с EF, нагрузка была раза в четыре больше на тех же запросах

Ivan
28.02.2018
19:22:12
Основная проблема - CI/CD. Необходимость корректной БД при билде.
Например, собираю под мультистейдж докером. В стандартный имедж докладывается пострес, потом билдятся миграции, потом накатываются. Потом билд проета - минут в 15 выходит
И это с докером. Без него вообще не знаю как собирать. Сбросом среды.

Roman
28.02.2018
19:28:48
Понял, спасибо

Evgeniy
28.02.2018
19:30:29
Есть и более мелкие проблемы. Тулинг может недакватно себя вести. :)
Или недавно в твиттере жаловались, что использовали erased providers, а потом захотелось иметь настоящие типы.
Ну такое.

Ivan
28.02.2018
19:31:30

Google

Vladimir
28.02.2018
19:33:57
А просто при разработке провайдеры не кушают памяти и цпу? Насколько я помню так хорошо кушают

Roman
28.02.2018
19:33:58
Т.Е. это проблема конкретных ТП. Для быстрого анализа данных провайдеры отличная штука

Ivan
28.02.2018
19:44:28
В F# они замена метапрограммирования. А для быстрого анализа данных билд не нужен.

Evgeniy
01.03.2018
09:54:28
Привет.

B_CCCPcekca_HET
01.03.2018
09:55:22
Привет)
Надеюсь сообщество будет терпимо к новичкам))

Evgeniy
01.03.2018
09:57:45

Vasily
01.03.2018
10:13:27

B_CCCPcekca_HET
01.03.2018
10:16:56

Vasily
01.03.2018
10:17:33

B_CCCPcekca_HET
01.03.2018
10:18:35
Для себя ) отдохну от С# и прочего))

Anna
01.03.2018
10:19:47
*мне пока не помогло ?

Vasily
01.03.2018
10:20:25

B_CCCPcekca_HET
01.03.2018
10:21:19
В любом случае лишним не будет)) иногда лучше спросить чем гуглить не понимая что))

Vasily
01.03.2018
10:21:36
Тож верно

Anna
01.03.2018
10:22:00
В целом логично
ну всё равно хочется надеяться, что я тут не без пользы торчу

Диёр
01.03.2018
10:24:52
ну как минимум можно с ребятами за монады выпить

Vasily
01.03.2018
10:25:09
Зачем за монады пить?

Google

Roman
01.03.2018
11:04:29

Evgeniy
01.03.2018
11:21:20
@fvnever Что там за движуха в TaskBuilder?
Что-то в SRTP поломали?

Friedrich
01.03.2018
11:21:37
Да вроде нет.

Roman
01.03.2018
11:21:47
http://aastevenson.github.io/FSharp.Text.Experimental.Transform/
ПЕПЯКА!

Friedrich
01.03.2018
11:22:23

Evgeniy
01.03.2018
11:24:05

Friedrich
01.03.2018
11:24:28
Это я тоже помню, да. Но не знал, что там что-то ломалось.

Evgeniy
01.03.2018
11:25:44
https://github.com/Microsoft/visualfsharp/pull/1650
Вот это откатывали, а потом откатили откат.
Блин, SRTP — это сложно. :)
@fvnever
https://github.com/rspeele/TaskBuilder.fs/pull/14/files
let welcomeToHello (inp: HW.Greeting) =
match inp.TryMatch<"welcome">() with
| Some _ -> HW.Greeting.Construct<"hello">()
| None -> inp
Первый раз вижу такое использование статических параметров.
Пойду RFC перечитаю.

Vlad
01.03.2018
11:44:01

Evgeniy
01.03.2018
11:49:00
Кстати, FSharp.Data.Npgsql провайдер сам умеет конфигурироваться по внешнему файлу. Хорошо сделали.

Roman
01.03.2018
11:50:00
Привет!

Google

bitchelov
01.03.2018
12:40:14
хей

Evgeniy
01.03.2018
14:17:15
> Keynote: Crossroads: F# in the middle of... nowhere?
Я смотрю, F# eXchange в этом году будет еще интереснее. :)

Pavel
01.03.2018
14:18:03
А когда он будет, и будет ли онлайн?

Evgeniy
01.03.2018
14:18:39
В начале апреля. После выкладывают видео.
О, там даже Антон Молдован будет докладывать.
> How do we cook highload microservices at SBTech
https://skillsmatter.com/conferences/9419-f-sharp-exchange-2018#program
А, правда, его можно уже сейчас на русском языке послушать.
https://www.youtube.com/watch?v=05DyWjTBg0c
Все как мы любим. ?

Roman
01.03.2018
14:34:39

Evgeniy
01.03.2018
14:36:12

Roman
01.03.2018
14:36:19

Evgeniy
01.03.2018
14:37:57
Все как мы любим. ?

Roman
01.03.2018
14:38:13

Evgeniy
01.03.2018
15:05:25
Молдован крутой. Я бесконечно далек от промышленной разработки, но все равно заворожённо слушаю. :)

Google

Roman
01.03.2018
15:11:52

Нина
01.03.2018
15:39:04
Ребят, а можете посоветовать, что почитать про DI/IoC или что-то подобное, ну может какие-то их альтернативы, в ФП? (Я в своём пет-прожекте тихоньку подхожу к тому, что у меня логгер, подключение к базе и вот это всё тянется через параметры через кучу функций, и вот это начинает выглядеть как-то вообще неудобно и неправильно...)

Kirill
01.03.2018
15:41:33
это правильный вопрос

Evgeniy
01.03.2018
15:42:04
Ребят, а можете посоветовать, что почитать про DI/IoC или что-то подобное, ну может какие-то их альтернативы, в ФП? (Я в своём пет-прожекте тихоньку подхожу к тому, что у меня логгер, подключение к базе и вот это всё тянется через параметры через кучу функций, и вот это начинает выглядеть как-то вообще неудобно и неправильно...)
Я думаю, здесь варианты такие:
- делать, как в C# (Симановская книжка Dependency Injection in .NET)
- частичное применение, DI через монады (https://fsharpforfunandprofit.com/posts/dependency-injection-1/)
- dependency rejection (http://blog.ploeh.dk/2017/01/27/from-dependency-injection-to-dependency-rejection/)

Kirill
01.03.2018
15:42:24
альтернатива — это композиция, но её тянуть тоже занудно
у Зимэнна было видео с прошлого дотнекста, но он тоже ни к чему хорошему не пришёл

alix
01.03.2018
15:43:33
судя по этой картинке все фшарп ниггас? )

Evgeniy
01.03.2018
15:44:16
А почему F# только на нумпаде?
Потому что только для финансов пригоден. ;)

Kirill
01.03.2018
15:45:21

Evgeniy
01.03.2018
15:48:05

Kirill
01.03.2018
15:53:57
Я ещё не посмотрел
И лучше тоже ничего не придумал
Но по моей практике такой подход работает как неизбежное зло: всё равно слишком много хвостов

Pavel
01.03.2018
16:00:29
> что у меня логгер, подключение к базе и вот это всё тянется через параметры через кучу функций
У тебя F#, сделай статический метод и дергай его, возьми Serilog, не переусложняйте, позязя.
DI/IoC - это просто возможность передавать функцию в вызываемую функцию.
Функции высшего порядка

Bonart
01.03.2018
16:28:10

Igor
01.03.2018
17:12:04