标准ML的GUI?

时间:2009-10-11 05:28:27

标签: user-interface binding sml ml graphical-programming

我出于好奇,最近开始学习标准ML。所以我所知道的是有一个高效的编译器(MLton),它允许我们自由地使用抽象而不用担心性能。

如果我可以使用Standard ML进行一些GUI编程,那将是完美的。是否有像Gtk,Qt或WxWidgets绑定标准ML?

非常感谢。

3 个答案:

答案 0 :(得分:7)

这是描述a paper项目的mGTK,它是与GTK绑定的标准ML。还有一些interfaces to OpenGL,虽然这是2和3D图形导向,而不是具体的GUI工具包。 eXene是适用于X Windows的工具包。 sml_tk是Tk的接口。

答案 1 :(得分:3)

外部工具包有绑定,但eXene工具包被设计为SML的原生工具并利用Concurrent ML的功能。我在几年前使用它,发现它非常适合语言和使用的乐趣。但它没有你在更广泛使用的工具包中找到的巨大的组件库。

答案 2 :(得分:0)

Giraffe Library 为支持 GObject Introspection 的库提供 SML 绑定,其中包括 GTK。在撰写本文时,绑定可用于 GTK 3 堆栈。虽然 cairo 图形库不支持 GObject Introspection,但 Giraffe 库提供了一些 cairo 函数的绑定。

尽管 SML 有一个非常精确的定义,但该定义不包括 FFI,并且编译器之间存在相当大的差异。在撰写本文时,Giraffe 库仅支持 MLtonPoly/ML 的 FFI。