与F#中的Ocaml函数进行交互

时间:2018-11-27 10:18:32

标签: functional-programming f# ocaml

我正在通过F#和Ocaml探索函数式编程。 如何从F#应用程序调用OCaml函数,反之亦然。

1 个答案:

答案 0 :(得分:2)

嗯,有几种不同的方法可以做到这一点:

  • .NET的OCaml实现;
  • 用于OCaml的互操作性库;
  • 与语言无关的通用协议(json,protobuf)。

一些有用的东西:

OCamIL

  

OCamIL是针对Microsoft .NET的实验性OCAML编译器。   它旨在与INRIA开发的标准实现100%兼容。

只要您使用的是F#的标准.NET实现,就可以使用 OCaml的.NET实现,轻松地将事物链接在一起。 但是,该项目的最新版本已于2007年发布,但从未准备就绪。 生产用途。

CSML

  .p和OCaml之间的

高级绑定

在Windows下开发OCaml时,CSML非常有用。您可以使用.NET库 在您的OCaml代码中。但是,该项目有些旧,我不确定是否 已准备好用于生产。

JSON-RPC

  

JSON-RPC是无状态的轻量级远程过程调用(RPC)协议。   最初,本规范定义了几种数据结构和周围的规则   他们的处理。它与运输无关,因为可以在   通过套接字,通过HTTP或许多各种消息传递中的相同过程   环境。它使用JSON(RFC 4627)作为数据格式。

这是连接不同语言而无需担心的最简单方法之一 关于它们的实现方式,以及VSCode使用的协议。