Уже не важно
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Справедливо.
если разберёшся - мне скажи
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! настривается
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Кстати, интересную тему затронул. Это единственная причина, почему мы не запилили MergeSources в async. Никто не может решить - должно оно быть параллельным или последовательным.
у апликативного функтора (в отличие от монадического) есть только одна гарантия - отсутствие гарантий порядка Поэтому как сделаете, так и будет
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Страшные слова говоришь. Монадический, функтор.
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Async<_>
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Это and! по-сути
Типа должно это быть then или whenBoth?
а почему двумя способами не сделать - кому что удобнее тот то и будет применять ??
маянезный функтор. Последовательный let! a = ... let! b = ... аппликативный функтор. НЕ последовательный. В данной конкретной имплементации - параллельный let! a = ... and! b = ...
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Как? Метод один
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                   Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Да я знаю. Хотел пошутить втихаря про фшарп и монады
Я любитель тасков. Что у асинка с and?
2 метода сделать
ну я к тому что НОРМАЛЬНЫЙ человек, которому дело надо делать и который заебался стартовать две задачи в асинках через StartChild мечтает чтобы and! в async был параллельным Это sane default implementation detail
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ничего. Его нету. Потому что не можем решить, что юзать - Async.Parallel или секвеншл
 Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Vlæd
                          Zá
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  У СЕ один только может быть
Раз нет однозначного требования - последовательно, то паралельно
Async.Parallel кстати неудобен для пайпинга [...] |> Seq.map (fun x -> async { ... }) |> fun asyncs -> Async.Parallel(maxThreads = 8, asyncs) А хотелось бы |> asyncParallel 8 Понимаю, положил однострочник в Utils.fs и погнали, но йопта
ааа (я забыл что они на CE сделаны)
а почему 2 асинка не сделать - Async и Async' ??
может, вон выше через опены
я не дочитал до туда ещё :)
Их еще назвать надо
вон Айрат предложил
Обсуждают сегодня