在“现实世界”应用程序中使用机器学习

问题描述 投票:0回答:5

我非常喜欢在大学学习机器学习。 我发现函数式编程通常是编写某些算法的一种令人耳目一新的优雅方式。 我听说过 F# 并尝试过它。 尽管如此,我还是用 ML 编写了一些有趣的函数,并希望将它们集成为可以在其他应用程序中使用的库。

通常我将函数粘贴到 SMLnj 解释器中。 有什么办法可以将它们编译下来吗?

functional-programming sml smlnj
5个回答
5
投票

您必须使用MLj编译器之类的东西。它编译为 Java 字节代码。或者您可以使用 SML.NET 编译器编译为 .NET IL。


4
投票

ML中,双方都导出到C,然后互相调用对方的C函数是很常见的。几乎所有东西都有一个 FFI 库,可以“轻松”导出到 C。

http://www.smlnj.org/doc/SMLNJ-C/index.html

所以对于外界来说,你的 sml 库的行为就像 C 库一样,除了相关的段错误和内存泄漏*

*不是保证


2
投票

项目普及语言。 使用机器学习为有趣且无可否认的“酷”项目做好基础工作,人们就会涌向该语言。 例如,看看带有 ejabberd 和 mochiweb 的 Erlang——这两个很酷的项目都为像 erlang 这样的一次性钻石语言创造了奇迹(顺便说一句,这是我最近选择的开发语言)。 我个人很高兴看到有人用 ML 做出一些精彩的东西,用这种语言思考是一种乐趣。


2
投票

几个标准机器学习编译器。 MLton wiki 还包含一个基准

我使用了Moscow ML,它将标准ML编译成字节码。它并不快,但很有效。就效率而言,MLton 通常被认为是最好的标准 ML 编译器。


0
投票

请注意,Poly/ML 版本 5 或更高版本支持传统的“堆转储”模型和 C 风格的独立可执行文件。 Poly/ML 网站 上的文档分布在许多不同的地方,其中一些标题中的日期非常旧 - 但该系统仍然活跃且运行良好。

在 5.0 版本的 发行说明 中解释了目标代码生成(我们目前是 5.5):请参阅那里的

PolyML.export

还有一些Poly/ML C接口,最近已经翻新用于一些GUI项目。 您应该在 Polyml 邮件列表中询问。

© www.soinside.com 2019 - 2024. All rights reserved.