我只想指出,这个问题不是相反的
在这里,我不是在问如何设计一个用 C# 编写的函数库,以便在两个世界中使用。
我想知道关于设计选择包含或避免什么的良好实践,以获得合理的折衷以使这个库可以从 F#中使用。
像(例如)这样的做法:
保持对象层次结构尽可能简单
避免改变对象的状态,但返回新的
ETC...
有做过的人,可以分享一下经验吗?
边注
有趣的是,这个 OSS 项目IronJS。是的,它是用 F# 编写的,但是作者公开了两个专门的主机IronJS.Hosting.FSharp
和IronJS.Hosting.CSharp
.