10

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

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

非常感谢你。

4

3 回答 3

7

是一篇描述mGTK项目的论文,它是与 GTK 的标准 ML 绑定。OpenGL也有几个接口,尽管这更多是面向 2 和 3D 图形的,而不是专门的 GUI 工具包。eXene是一个用于 X Windows 的工具包。sml_tk是 Tk 的接口。

于 2009-10-11T06:21:23.977 回答
3

有外部工具包的绑定,但eXene工具包被设计为 SML 的原生工具包并利用 Concurrent ML 的特性。几年前我使用过它,发现它非常适合该语言并且使用起来很愉快。但它没有您在更广泛使用的工具包中找到的庞大的组件库。

于 2010-01-28T23:14:29.333 回答
0

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

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

于 2021-02-13T08:53:30.273 回答