То, что я хотел бы сделать, это иметь функцию, в которую я могу многократно передавать функцию преобразования и получать комбинированное преобразование, функция преобразования будет иметь вид '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)
Так что тогда я мог бы просто позвонить комбинированный ввод чтобы получить результаты рабочего процесса.
Возможно ли это без ограничения значения или компилятора, ограничивающего все преобразователи одним и тем же типом?