Personal tools

HQK

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(various improvements)
m (Added category: User interfaces)
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
  +
[[Category:User interfaces]]
  +
 
== About ==
 
== About ==
   
Line 5: Line 7:
 
== Achievements ==
 
== Achievements ==
   
We have developed a generator which produces binding code mostly automatically. In addition, we 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 our library.
+
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).
== People ==
+
* 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.
The binding generator was developed by Thomas Mönicke under the supervision of [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]].
 
 
== Releases ==
 
   
We try to release our binding generator as soon as possible. If you want to have a look at it before the release, please contact [[User:Wolfgang Jeltsch|Wolfgang Jeltsch]].
+
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 ==
 
== Applications ==
   
We plan to develop a HQK-based UI backend for the Functional Reactive Programming library [[Grapefruit]], thereby making Grapefruit multi-platform. If you are interested in working on such a backend, consider joining the [[Hac5|5th Haskell Hackathon]].
+
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.