Size: a a a

2020 June 15

AH

Ayrat Hudaygulov in F# Chat
но давай просто условимся что я могу это сделать в теории и не буду делать на практике
источник

VS

Vladimir Shchur in F# Chat
ну тут нужно не просто попросить продолжать, а еще новые сообщения передавать
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
ну тут нужно не просто попросить продолжать, а еще новые сообщения передавать
ну эт тоже можно, у нас же тьюринг полный язык
источник

VS

Vladimir Shchur in F# Chat
ну я про то и говорил - что ты можешь на тредах или тасках написать акторов) но сами по себе это еще не акторы
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
ну я про то и говорил - что ты можешь на тредах или тасках написать акторов) но сами по себе это еще не акторы
охолони, “все формальные требования выполнены” даже на этапе тредов
источник

AH

Ayrat Hudaygulov in F# Chat
можно вызвать ограниченное кол-во функций в других тредах
можно создать ограниченное кол-во других тредов
можно поменять код выполнеямый на текущем треде и таким образом поведение
источник

AH

Ayrat Hudaygulov in F# Chat
а то что работать с ними неудобно, это уже дело десятое
источник

VS

Vladimir Shchur in F# Chat
Vladimir Shchur
вики говорит
    send a finite number of messages to other actors;
   create a finite number of new actors;
   designate the behavior to be used for the next message it receives.
я вот это скидывал) а откуда тот перевод не знаю
источник

VS

Vladimir Shchur in F# Chat
все-таки акторы это про месседжи
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
все-таки акторы это про месседжи
не, давай глубже. Акторы это pi-calculus, месаджи это уже костыль для CS, где невозможно инстантно отправить запрос и получить ответ, поэтому надо буфер иметь (мейлбокс) с вызовами(месаджами) актора (процесса)
источник

AH

Ayrat Hudaygulov in F# Chat
в матане (формальной теории) вообще нет мейлбоксов
источник

AH

Ayrat Hudaygulov in F# Chat
и месаджей тоже нет. Месадж это просто вызов некого процесса
источник

AH

Ayrat Hudaygulov in F# Chat
Так что всё ок. Продолжаем играть в интересную игру. Сова трещит по швам
источник

VS

Vladimir Shchur in F# Chat
не, не ок) тут тогда твой месседж это и есть логика актора, т.е. не актор опредеяет поведение на основе месседжа а месседж определяет поведение на основе себя
источник

AH

Ayrat Hudaygulov in F# Chat
не, логика актора это сам процесс
источник

AH

Ayrat Hudaygulov in F# Chat
месадж это внешний раздражитель - аргумент функции
источник

VS

Vladimir Shchur in F# Chat
Ayrat Hudaygulov
var superActor = Task.Run( () -> someFunc(message))

банально вызвать асинк функцию! Удобный рантайм сам создаст нам актора если его не было (тред), удобно дожидаемся ответа через await
ну я этот вот так понимаю - месседж это делегат, ты не это имел ввиду?
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
ну я этот вот так понимаю - месседж это делегат, ты не это имел ввиду?
ну месадж тут всё ещё месадж - аргумент
Мой процесс это someFunc (можно для удобства его сразу сделать асинхронным)
источник

AH

Ayrat Hudaygulov in F# Chat
чтобы сразу вызывать его без Task.Run
источник

AH

Ayrat Hudaygulov in F# Chat
рантайм эту логику актора удобно размешает на динамически создаваемых акторах (привет орлинсу)
источник