При взаимодействии с библиотеками F# от IronPython кажется, что объект функции Python не преобразуется автоматически в стандартный объект функции F# FastFunc при передаче в интерфейс F#, принимающий функцию в качестве одного из параметров.
С другой стороны, объекты функций Python хорошо преобразуются в System.Func‹>, если интерфейс является одним из них. То есть это не так просто вызвать из python:
let myFunc (f: float->float) =
f(3.5)
в то время как следующее работает отлично:
let myFunc2 (f: System.Func<float, float>) =
f.Invoke(3.5)
Итак, мой вопрос: если я хочу иметь возможность легко передавать свои объекты функций Python F#-функций, есть ли способ преобразовать объект System.Func‹> в объект FastFunc (чтобы иметь тонкий интерфейс на IronPython/C# и т. д., но иметь возможность использовать предоставленную функцию как обычную функцию F# глубже в библиотеке)?
Спасибо, Рикард
ps У меня недостаточно представителей, чтобы создать новый тег, возможно, кто-то может создать тег FastFunc и пометить им этот вопрос, если вы сочтете это подходящим