在我看来,qthaskell 没有被积极开发/被放弃。
它支持 QtQuick 吗?
是否有支持 qt 5 的计划/任何开发?
有没有人将 qt 与 haskell 一起使用,或者 gtk2hs 是当前最喜欢的?
QtHaskell 支持 Qt 4.6,因此支持 QtQuick,至少是早期的灯塔构建版本。请注意,这个版本的 QtQuick 与当前的 QtQuick 版本完全不同;大多数元素和属性具有完全不同的名称。
正在积极维护 GTK 对 Haskell 的支持。正如您亲眼所见,Qt 并非如此。主要原因之一是GHC不能自行导入国外的C++代码;您需要生成包装器 C 代码,然后由 GHC 调用,并且没有将 C++ 代码包装为 C 的通用方法,因此在这种情况下必须为 C++ 开发一个新工具。因此,Haskell 中 GUI 库的“当前最爱”是 GTK 和 WxWidgets。
在 Haskell 中使用 Qt 会非常有趣,例如因为 Qt 套接字系统可用于链接到 FRP(功能响应式编程)库,并且因为 Qt 具有非常透明的引用并且支持不可变数据结构的接口。
实际上有一个库可以使用 Haskell 的 Qt Quick,尽管我自己(还没有)尝试过:
http://hackage.haskell.org/package/hsqml-0.1.1
http://www.gekkou.co.uk/software/hsqml/
http://www.haskell.org/pipermail/haskell-cafe/2012-September/103350.html
目前维护,最新版本在 2012 年 9 月。还有一个演示程序发布在 hackage 上。
该版本尚不支持从 Haskell 代码发出 Qt 信号,但是有一个分支应该提供该功能: https ://github.com/travitch/hsqml
但是这个 fork 似乎比原来的包维护得少,而且原来的包的作者表示他打算在未来添加这个功能(并且在 Qt5 可用时也支持它)。
UPDATE现在愉快地使用这个库,虽然它没有得到太多的牵引力,但它对我来说非常有用。