First complete #17.
Parallel composition should only be accessible through a method TargetedInstruction<TArgument, Tuple<TResult1, TResult2>> Simultaneously(TargetedInstruction<TArgument, TResult2> otherInstruction) (which returns a CoordinatorInstruction<TArgument, Tuple<TResult1, TResult2>>) on a TargetedInstruction<TArgument, TResult1>.
This will allow for endlessly many parallel executions, as nested pairs of parallel executions.
These pairs need to be flattened automatically, meaning the following example would result in a TargetedInstruction<TArgument, Tuple<TResult1, TResult2, TResult3>
pc1.Do(...)
.Simultaneously(pc2.Do(...))
.Simultaneously(pc3.Do(...))
However, this flattening must be type safe.
Completion of this issue should make Coordinator obsolete, meaning all references to its usage, as well as the class itself should be refactored/removed.
First complete #17.
Parallel composition should only be accessible through a method
TargetedInstruction<TArgument, Tuple<TResult1, TResult2>> Simultaneously(TargetedInstruction<TArgument, TResult2> otherInstruction)(which returns aCoordinatorInstruction<TArgument, Tuple<TResult1, TResult2>>) on aTargetedInstruction<TArgument, TResult1>.This will allow for endlessly many parallel executions, as nested pairs of parallel executions.
These pairs need to be flattened automatically, meaning the following example would result in a
TargetedInstruction<TArgument, Tuple<TResult1, TResult2, TResult3>However, this flattening must be type safe.
Completion of this issue should make
Coordinatorobsolete, meaning all references to its usage, as well as the class itself should be refactored/removed.