私がやりたいのは、変換関数を繰り返し渡して組み合わせた変換を受け取ることができる関数を持つことです。変換関数は 'a -> 'b の形式になります。
つまり、次のような固定ワークフローを構成するのではなく、
let input = async{ let! transform1 = transformAB input
let! transform2 = transformBC transform1
let! transform3 = transformCD transform2
return! transform3 }
私はこれを行うことができるようにしたいと思います:
let combined = buildTransform(transform1).Next(transform2).Next(transform3)
そのため、結合された入力を呼び出すだけで、ワークフローの結果を取得できます。
これは、値の制限に達したり、コンパイラがすべてのトランスフォーマーを同じ型に制限したりすることなく可能でしょうか?