Re: [Haskell] ANNOUNCE: first Grapefruit release

[redirecting to haskell-cafe] Am Sonntag, 15. Februar 2009 00:25 schrieben Sie:
Hi Wolfgang,
I was wondering if I can use FLTK as GUI backend for Grapefruit?
This should be possible in principal. It just could be that my assumptions about how widgets are created and composed were too tight so that Grapefruit’s general interface doesn’t fit FLTK. In this case, please just tell me and I will try to make the interface more general.
I believe for this to make it happen, I would have to output FLTK's C++ into C then create bindings for Haskell (via FFI). Is that doable or an quite tall order?
Recently, a student of mine has written a program which generates a Haskell Qt binding fully automatically from Qt header files. The generated binding consists of three layers. The first layer is C++ code which reexports Qt’s functionality as a pure C interface. The C interface is ugly for humans and not type safe (because C doesn’t know classes). The second layer consists of a couple of FFI declarations. The third layer is Haskell code which provides a nice interface similar to the original C++ interface. I still have to get the source code of the binding generator from that student but I hope this will happen soon. I want to publish it then on the web. It hope that it is possible to reuse this binding generator for other C++ libraries.
Jamie Clark
Best wishes, Wolfgang

On Mon, 16 Feb 2009, Wolfgang Jeltsch wrote:
[redirecting to haskell-cafe]
Am Sonntag, 15. Februar 2009 00:25 schrieben Sie:
Hi Wolfgang,
I was wondering if I can use FLTK as GUI backend for Grapefruit?
This should be possible in principal. It just could be that my assumptions about how widgets are created and composed were too tight so that Grapefruit’s general interface doesn’t fit FLTK. In this case, please just tell me and I will try to make the interface more general.
Ok, great I ll have to use them then I will see and know what improvement is needed.
I believe for this to make it happen, I would have to output FLTK's C++ into C then create bindings for Haskell (via FFI). Is that doable or an quite tall order?
Recently, a student of mine has written a program which generates a Haskell Qt binding fully automatically from Qt header files. The generated binding consists of three layers. The first layer is C++ code which reexports Qt’s functionality as a pure C interface. The C interface is ugly for humans and not type safe (because C doesn’t know classes). The second layer consists of a couple of FFI declarations. The third layer is Haskell code which provides a nice interface similar to the original C++ interface.
I still have to get the source code of the binding generator from that student but I hope this will happen soon. I want to publish it then on the web. It hope that it is possible to reuse this binding generator for other C++ libraries.
That would be very helpful, I ll be looking forward.
Best wishes, Wolfgang
Jamie

Am Montag, 16. Februar 2009 15:27 schrieben Sie:
On Mon, 16 Feb 2009, Wolfgang Jeltsch wrote:
[redirecting to haskell-cafe]
Am Sonntag, 15. Februar 2009 00:25 schrieben Sie:
Hi Wolfgang,
I was wondering if I can use FLTK as GUI backend for Grapefruit?
This should be possible in principal. It just could be that my assumptions about how widgets are created and composed were too tight so that Grapefruit’s general interface doesn’t fit FLTK. In this case, please just tell me and I will try to make the interface more general.
Ok, great I ll have to use them then I will see and know what improvement is needed.
I believe for this to make it happen, I would have to output FLTK's C++ into C then create bindings for Haskell (via FFI). Is that doable or an quite tall order?
Recently, a student of mine has written a program which generates a Haskell Qt binding fully automatically from Qt header files. The generated binding consists of three layers. The first layer is C++ code which reexports Qt’s functionality as a pure C interface. The C interface is ugly for humans and not type safe (because C doesn’t know classes). The second layer consists of a couple of FFI declarations. The third layer is Haskell code which provides a nice interface similar to the original C++ interface.
I still have to get the source code of the binding generator from that student but I hope this will happen soon. I want to publish it then on the web. It hope that it is possible to reuse this binding generator for other C++ libraries.
That would be very helpful, I ll be looking forward.
Hello Jamie, it’s been quite some time that we had this discussion about writing a FLTK-based GUI backend for Grapefruit. I’m sorry that I have to tell you that the above-mentioned student never managed to send me a final version of this Qt binding generator. At least, I was able to make him send me the current state of his code. I don’t think he will improve this code anymore. If you want to have a look at the code, please visit http://haskell.org/haskellwiki/HQK and follow the link to the code and have a look at the building tips. In case you would like to improve the binding generator, I’d be happy to receive patches. :-) Best wishes, Wolfgang
participants (2)
-
Jamie
-
Wolfgang Jeltsch