代码之家  ›  专栏  ›  技术社区  ›  Erik Forbes

F#对OCaml的更改[关闭]

  •  120
  • Erik Forbes  · 技术社区  · 17 年前

    F#是从OCaml派生的,但是缺少或添加了哪些主要项?具体地说,我很好奇学习OCaml的资源是否对想学习F#的人也有用。

    5 回复  |  直到 10 年前
        1
  •  123
  •   Aaron M. Eshbach    8 年前

    • 允许您键入处理数值计算的检查代码
    • 元编程
    • 活动模式 用于创建函数数据类型的抽象(对于更复杂的模式匹配应用程序,通常是非常有用的功能)
    • 计算表达式 这是背后的语言特征 异步工作流 (用于异步I/O/web服务/GUI编程的库)
    • 这使得与.NET平台完全互操作成为可能(OCaml也支持对象,但有所不同——当然这两个系统都有一些好处)。
    • 重载的操作符 -据我所知,OCaml没有重载运算符——在F#中,您可以使用 + 适用于所有数字类型以及支持它的类型。

    老实说,我认为还值得一提的是VisualStudioIDE。这不是语言的一部分,但它确实改善了用户体验(VisualStudio中的IntelliSense支持非常好!)

        2
  •  91
  •   Anton Kochkov Chris Conway    7 年前

    主要区别在于F#不支持:

    • 仿函数
    • OCaml样式对象
    • 多态变体

    此外,F#对标记参数和可选参数有不同的语法。

    here (注:archive.org替换死链接)。

        3
  •  10
  •   james woodyatt    17 年前

    推荐文章