Personal tools

HQK

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(creation of initial content)
 
m (Added category: User interfaces)
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
HQK is an effort to provide Haskell bindings to large parts of the Qt and KDE libraries. As of October 2008, we are developing a generator which shall produce most of the binding code automatically. In addition, we have developed [http://softbase.org/hqk/doc/qoo.pdf a small Haskell module] for accessing object-oriented libraries in a convenient way. This module also supports parts of Qt’s signal-slot mechanism. In contrast to the original C++-based solution, type correctness of signal-slot connections is checked at compile time with our library.
+
[[Category:User interfaces]]
   
We plan to develop a HQK GUI backend for the Functional Reactive Programming library [[Grapefruit]], thereby making Grapefruit multi-platform.
+
== About ==
  +
  +
HQK is an effort to provide Haskell bindings to large parts of the Qt and KDE libraries. The project may also be useful for bindings to other C++ libraries.
  +
  +
== Achievements ==
  +
  +
Thomas Mönicke has developed a generator which produces binding code mostly automatically. Alas, this generator is not really finished. At the moment, it is even difficult to compile it. If you want to experiment with it nevertheless, you can [http://community.haskell.org/~jeltsch/hqk.tar.gz download] it. Here are some building tips from Sönke Hahn:
  +
* Several compilation errors can be removed by correcting case of identifiers. Some functions are used with camel case identifiers while their declarations use only lower case letters (or the other way round).
  +
* You should remove the contents of the directory <code>generator/debug</code> completely. This directory contains files generated by the Meta Object Compiler (MOC) and architecture-independent object files. Both are obviously rebuilt by the Ant build script.
  +
I, that is [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]], would be happy to hear from you whether you think that it is sensible to transform the current version into something that can be released.
  +
  +
In addition, I have developed [http://softbase.org/hqk/qoo/ a small Haskell module] for accessing object-oriented libraries in a convenient way. This module also supports parts of Qt’s signal-slot mechanism. In contrast to the original C++-based solution, type correctness of signal-slot connections is checked at compile time with this library.
  +
  +
== Applications ==
  +
  +
If the binding generator will ever be finished, we want to develop a HQK-based UI backend for the Functional Reactive Programming library [[Grapefruit]], thereby making Grapefruit multi-platform.

Latest revision as of 15:18, 25 January 2010


[edit] 1 About

HQK is an effort to provide Haskell bindings to large parts of the Qt and KDE libraries. The project may also be useful for bindings to other C++ libraries.

[edit] 2 Achievements

Thomas Mönicke has developed a generator which produces binding code mostly automatically. Alas, this generator is not really finished. At the moment, it is even difficult to compile it. If you want to experiment with it nevertheless, you can download it. Here are some building tips from Sönke Hahn:

  • Several compilation errors can be removed by correcting case of identifiers. Some functions are used with camel case identifiers while their declarations use only lower case letters (or the other way round).
  • You should remove the contents of the directory generator/debug completely. This directory contains files generated by the Meta Object Compiler (MOC) and architecture-independent object files. Both are obviously rebuilt by the Ant build script.

I, that is Wolfgang Jeltsch, would be happy to hear from you whether you think that it is sensible to transform the current version into something that can be released.

In addition, I have developed a small Haskell module for accessing object-oriented libraries in a convenient way. This module also supports parts of Qt’s signal-slot mechanism. In contrast to the original C++-based solution, type correctness of signal-slot connections is checked at compile time with this library.

[edit] 3 Applications

If the binding generator will ever be finished, we want to develop a HQK-based UI backend for the Functional Reactive Programming library Grapefruit, thereby making Grapefruit multi-platform.