Уже не важно
Справедливо.
если разберёшся - мне скажи
val validationPipeline1 : ValidationPipeline val validationPipeline2 : ValidationPipeline let resultPipeline = validate { let! r1 = validationPipeline1 whatever1 and! r2 = validationPipeline2 whatever2 (*1*) return! Validation.combine [ r1; r2 ] } В точке 1 вызовы ce могут быть или не быть параллельны в терминах параллельного исполнения
Код странный получился, представим что combine синхронен, а and! настривается
Кстати, интересную тему затронул. Это единственная причина, почему мы не запилили MergeSources в async. Никто не может решить - должно оно быть параллельным или последовательным.
у апликативного функтора (в отличие от монадического) есть только одна гарантия - отсутствие гарантий порядка Поэтому как сделаете, так и будет
Страшные слова говоришь. Монадический, функтор.
Async<_>
Это and! по-сути
Типа должно это быть then или whenBoth?
а почему двумя способами не сделать - кому что удобнее тот то и будет применять ??
маянезный функтор. Последовательный let! a = ... let! b = ... аппликативный функтор. НЕ последовательный. В данной конкретной имплементации - параллельный let! a = ... and! b = ...
Как? Метод один
Да я знаю. Хотел пошутить втихаря про фшарп и монады
Я любитель тасков. Что у асинка с and?
2 метода сделать
ну я к тому что НОРМАЛЬНЫЙ человек, которому дело надо делать и который заебался стартовать две задачи в асинках через StartChild мечтает чтобы and! в async был параллельным Это sane default implementation detail
Ничего. Его нету. Потому что не можем решить, что юзать - Async.Parallel или секвеншл
У СЕ один только может быть
Раз нет однозначного требования - последовательно, то паралельно
Async.Parallel кстати неудобен для пайпинга [...] |> Seq.map (fun x -> async { ... }) |> fun asyncs -> Async.Parallel(maxThreads = 8, asyncs) А хотелось бы |> asyncParallel 8 Понимаю, положил однострочник в Utils.fs и погнали, но йопта
ааа (я забыл что они на CE сделаны)
а почему 2 асинка не сделать - Async и Async' ??
может, вон выше через опены
я не дочитал до туда ещё :)
Их еще назвать надо
вон Айрат предложил
Обсуждают сегодня