Ayrat
Nikolay
Ayrat
Vladislav
Nikolay
Romɑn
Вы умеете поддержать )
Nikolay
Klei
Оставить поддержку. @neftedollar Включай деприсняк, запрись в комнате и пиши статью по SAFE.
Vladislav
Nikolay
Nikolay
Не надо
Nikolay
Жизнь портить человеку
Klei
Жизнь портить человеку
Жизнь одного против блага каждого? Мир будет много лучше, если JS умрет и все будут писать на F#.
Nikolay
Nikolay
Так что js не умрёт
Éminence grise
Пока нам не завезут макросы, нам не светит 😊
Romɑn
Éminence grise
Все смотрели, как человек на расте типизированный JSX напилил?
Éminence grise
Ayrat
Ayrat
Собсно UntypedActor намекает что тут что-то нечисто)))
Ayrat
Но как система - вполне рабочая. Просто когда начинаешь код акки смотреть, волосы встают дыбом. Надо ж было так наговнокодить
Éminence grise
Ayrat
Кстати по этим докам можно понять насколько важны диспетчеры:
/// <summary>
/// TBD
/// </summary>
Klei
Éminence grise
Там три протоактора - на C#, Go и Kotlin. Их в одном кластере можно запускать.
Éminence grise
Вот то один попилит, то другой.
Klei
И все это опять без F#...
Éminence grise
Ну это как водится. Но ведь никто не мешает на F# реализацию сделать.
Éminence grise
С гопаком и шл-ми
Klei
Ограниченность срока жизни мешает.
Éminence grise
Да ну. Там кода немного.
Éminence grise
Это не акку перелопатить
Klei
Это если понимаешь, что надо делать.
Klei
Приобретение понимания большую часть времени и съест.
Éminence grise
Ну и поймешь по ходу. Тот же орлеанс не очень сложный то же. Там просто до фига кодогенерации и магии при компиляции, в ней разобраться сложно.
Nikolay
Блин, сейчас пишу на акке, и понимаю, что круто и правильно сделал Funogram :3
Nikolay
Nikolay
@neftedollar'a звать?
Éminence grise
Да не вроде рано, она с хайринг группы
Romɑn
Romɑn
Его
Éminence grise
А, это глазастый парень 😊
Nikolay
Так, я туплю, или как? Есть функция, принимающая два аргумента, нужно эти два аргумента как-то через пайп оператор передать
Nikolay
Чёт не пойму как
Nikolay
Кортеж не вариант
Éminence grise
||>
Nikolay
Nikolay
Вот код
Nikolay
Из processState в memberHandler надо передать state и context
Éminence grise
У тебя процесс стате извини unit возвращает
Nikolay
Klei
Nikolay
Не пойму, что он должен возвращать
Nikolay
Nikolay
Стейт и option запрос
Éminence grise
Может прау (state, context)? тогда будет ||>
Nikolay
Nikolay
Éminence grise
А зачем тогда ||>
Klei
tee оператор можно заюзать. Но контекст только явно передавать.
Nikolay
https://gist.github.com/Dolfik1/d99799b4a11a099aa2731722aa23e9a6
Nikolay
Вот такой код
Nikolay
получается
Éminence grise
let processState (context: Actor<'a>) (state, req) =
match req with
| Some req -> select context.System Global.RequestProcessor <! req
| None -> ()
state
let rec memberHandler state (context: Actor<Message>) = function
| Message.Join ->
memberJoin state
|> processState context
|> memberHandler context
|> become
| Message.SolveCaptcha captcha ->
memberHandler state context |> become
Éminence grise
Так не проще?
Klei
По моему здесь лучше было бы разбить тупл и обработать явно. Какое-то все взаимозависимое.
Éminence grise
Хотя бы я наверно Member join рызбил на две части и писал бы:
let rec memberHandler state (context: Actor<Message>) = function
| Message.Join when state.IsCaptchaSolved ->
Éminence grise
| Message.Join when state.IsCaptchaSolved ->
Éminence grise
код будет беp option
Klei
Там кстати req создается только вместе с изменением стейта. Признак того, что всей конструкции лушче возвращать общий option.
Éminence grise
Как тот так https://gist.github.com/ijsgaus/ac7660e3d9b95767d07169000721b039
x
кто-нить пытался накатить fira code на райдер? у меня он выглядит и пахнет как говно после этого
x
я пытался всё исправить по этой доке https://intellij-support.jetbrains.com/hc/en-us/articles/115001260010-Troubleshooting-IDE-scaling-DPI-issues-on-Windows
x
не помогает :(
Éminence grise
Так ты ему похоже как фонт IDE Fira поставил. Достаточно только в редакторе
x
так в редакторе и проблема