@Fsharp_chat

Страница 603 из 772
Vlad
15.06.2018
12:06:13
let ofObj value = match value with null -> None | _ -> Some value

Ayrat
15.06.2018
12:06:22
я не уверен что этот гард так уж полезен, я обмазываю все вызовы Newtonsoft.Json так: maybe { let! id = jTok.SelectToken("object.values[0].id") |> Option.ofObj }

ну у меня понятно есть инлайн функция вида let inline selectToken : JToken -> JToken option

Dmitry
15.06.2018
13:24:18
А как называется подход, когда всё IO делается либо в начале (чтение), либо в самом конце процесса, а внутри всё из чистых функций?

Google
Dmitry
15.06.2018
13:24:26
Это же не луковичная архитектура?

Дед Пегас
15.06.2018
14:20:53
Я бы с таким ником точно банил

Ayrat
15.06.2018
14:26:05
Его брат близнец?

Никто не знает есть ли стандартная функция на такое |> function | Some (x, y) -> Some x, Some y | None -> None, None преобразовать опшн тупля в тупль опшнов

Vasily
15.06.2018
15:47:12
Ну стандартной нет,но option.bind должен справиться

Ayrat
15.06.2018
15:48:05
Ну я ж не Option возвращаю, как тут bind поможет?

Vasily
15.06.2018
15:54:30
Да, согласен

Я невнимателен

Roman
15.06.2018
15:54:49
Вобще интересно.

Google
Ayrat
15.06.2018
16:09:17
Да, это я прогнал

Roman
15.06.2018
16:10:03
Он есть, но api другой, насколько я помню

Ayrat
15.06.2018
16:10:18
https://github.com/Horusiath/Akkling/issues/68

Честно говоря дичЪ

Klei
15.06.2018
16:43:40
Он есть, но api другой, насколько я помню
Есть LifecycleEvent Stop, но это совсем другое.

Evgeniy
15.06.2018
17:44:25
@Kleidemos Шаришь в Akkling эффектах?

Klei
15.06.2018
20:24:09
@Kleidemos Шаришь в Akkling эффектах?
Лучше сразу вопрос.

Evgeniy
15.06.2018
20:24:16
Я думаю, как жить без mailbox.Defer

Нужно как-то правильно эффекты хендлить. Как?

Klei
15.06.2018
20:24:45
Я ловлю Stop. Эффекты тут не причем.

Evgeniy
15.06.2018
20:25:00
Klei
15.06.2018
20:25:41
Stop — это..?
Это LifecycleEvent. В этом случае твой актор теряет типизацию.

Klei
15.06.2018
20:27:39
Иначе никак.

В теории можно посмотреть context.UntypedContext.Defer.... Может есть что.

Evgeniy
15.06.2018
20:34:00
Иначе никак.
Это довольно странно. Раньше были Behavior<'T>, которые позволяли хендлить системные сообщения.

Потом их заменили на эффекты.

Klei
15.06.2018
20:34:47
Google
Evgeniy
15.06.2018
20:34:52
Или это был только прототип... ?

Klei
15.06.2018
20:36:25
Вообще если ты создашь Props<int>, то ты не получишь сообщения LifecycleEvent. Там фильтр установлен такой, что часть сообщений даже не высылается.

Evgeniy
15.06.2018
20:39:53
Ок.

@VagifAbilov ^

Roman
15.06.2018
22:04:41
Потом их заменили на эффекты.
Эффекты были очень давно и их пытались выпилить из условной акклинг.кор насколько я помню.

Klei
15.06.2018
22:07:55
По моему достаточно удобная штука получилась.

Evgeniy
16.06.2018
06:09:37
Довольно странно, конечно. Итого есть два места без типизации: - mailbox.Sender(), но это лечится передачей типизированной ссылки на отправителя в сообщении - обработка сообщений системы

Ладно, я Unit-1 почти закончил. Надо бы порядок навести, наприме, избавиться от actor { ... } в коде.

Мне почему-то интерфейс через CE здесь не нравится. :)

Сергей
16.06.2018
06:54:51
@gsomix

Anna
16.06.2018
07:04:01
закрой дверь, они на свет ползут ?

Klei
16.06.2018
07:04:01
Мне почему-то интерфейс через CE здесь не нравится. :)
Норм. Автор akkling где-то в issue-ях говорил, что хотел бы избавиться от actor {...}. Правда я не помню, собирается ли он это реально делать.

Vagif
16.06.2018
08:11:28
Мне тоже не хватало Defer, давно ещё issue открыл, потом как-то выкрутился, уже не помню деталей. Бартош был сейчас в Осло на NDC, делал доклад по Streams с демо на Akkling. Я его спросил о будущем библиотеки, он сказал, что подумывает ещё раз радикально изменить API, чтобы получились настоящие типизированные акторы, без всех этих typed - untyped. Но когда, пока неизвестно.

Evgeniy
16.06.2018
08:11:58
Было бы круто.

Vagif
16.06.2018
08:13:23
Он хочет разделить обработку доменных сообщений и системных, чтобы последние не влияли на тип актора.

Vagif
16.06.2018
08:14:29
Когда я перешёл на акклинг, уже не было.

Evgeniy
16.06.2018
10:06:23
Привет.

Black
16.06.2018
10:10:09
прет

Google
Дед Пегас
16.06.2018
10:12:28
В бан

システム
16.06.2018
10:38:54
@neftedollar @gsomix @vshapenko @AnutaU Hi there, a short update on questions: 1) Type providers parameterized by types - is being developed by only one person, so ETA - next major F# release after this person will be ready, but we are strongly encouraged to help; 2) SRTP fixes - ETA F# 5 3) Traits, type classes or something like that - when general architecture picture will be agreed with rest of .NET language architects, specifically Mads, ETA unknown, but maybe around C# 8.0; 4) Anonymous records - they are ready, but the reason why they are not in F# 4.5 - not enough feedbacks and tests from the community, ETA - F# 5.0; 5) Reason why there are no parameterized modules in F# in the same way as in OCaml - primarily because of possible community split like in Scala, when 50% use it, and another 50% don't use it, and missing of clear picture how to constraint such feature in a right way, but it could be added if there would be enough requests; 6) Task computational expression recognizable by the compiler - ETA F# 5.0;

Evgeniy
16.06.2018
12:35:34
@psdarr Thanks a lot!

システム
16.06.2018
12:36:36
@psdarr Thanks a lot!
You are welcome!

Evgeniy
16.06.2018
12:41:01
https://sergeytihon.com/2018/06/16/f-weekly-24-2018-fable-conf-2018-26-27-october-berlin/

Рыба знаменитый. :)

Nikolay
16.06.2018
18:59:26
Как yaml провайдеру объяснить, что поле может быть option?

Evgeniy
16.06.2018
19:14:19
Привет!

Artem
16.06.2018
19:14:27
https://marketplace.visualstudio.com/items?itemName=georgewfraser.fsharp-language-server пробовал кто? работает?

Привет!
привет)

@gsomix, помнишь там был нативный язык пони (даж чат был)?

его тут в одном чате сегодня даже вспоминали :D

//offtop mode off

Evgeniy
16.06.2018
19:15:29
fsharp-language-server -- очень молодой проект.

Google
Evgeniy
16.06.2018
19:19:39
@suddengunter У ионид много хороших фич, но если будет тормозить, рекомендую поковыряться в настройках.

Я себе, кажется, отключил линзы и анализаторы некоторые.

Artem
16.06.2018
19:22:15
fsharp-language-server -- очень молодой проект.
угу (скачал->не может даже запуститься, но не пишет причину ошибки) просто у F#ls там в описании гифка с сравнением его и ионида оч показательная в плане скорости работы

значит ионид

Evgeniy
16.06.2018
19:23:48
угу (скачал->не может даже запуститься, но не пишет причину ошибки) просто у F#ls там в описании гифка с сравнением его и ионида оч показательная в плане скорости работы
Я читал в слаке спор на эту тему. Кажется, там сравнение некорректное, fsls сильно отстаёт по фичам, поэтому работает быстрее из коробки.

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