Re: [Haskell] ANNOUNCE: first Grapefruit release

[redirecting to haskell-cafe] Am Samstag, 14. Februar 2009 23:13 schrieben Sie:
Great, does it run well on Windows and Mac platforms in addition to Linux platform which should run fine?
Actually, I have no idea. ;-) Well, Grapefruit is a pure Haskell library without any own binding to C libraries or whatever. For GUI stuff, Grapefruit relies completely on Gtk2Hs. So if Gtk2Hs works, Grapefruit should work too. I just haven’t tested it so far. Earlier Grapefruit code was successfully executed on the Windows box of my co-developer. On the other hand, Grapefruit is designed to be implemented on top of different toolkits, although currently there is only the Gtk2Hs backend. So if you want to write a backend based on the Win32 API or Cocoa, this would be very welcome. :-)
I am planning to create video phone software and I was looking for good GUI toolkit that supports FRP so it looks like it is right time to use Grapefruit :)
This would be really great. Writing applications with Grapefruit gives me useful feedback and pressure for improvement. Note that currently the set of supported widgets is very low but this is likely to change during the next weeks and it should often be very easy to port Gtk2Hs widgets to Grapefruit.
Thanks
Jamie
Best wishes, Wolfgang

"Wolfgang" == Wolfgang Jeltsch
writes:
Wolfgang> This would be really great. Writing applications with Wolfgang> Grapefruit gives me useful feedback and pressure for Wolfgang> improvement. Note that currently the set of supported Wolfgang> widgets is very low but this is likely to change during Wolfgang> the next weeks and it should often be very easy to port Wolfgang> Gtk2Hs widgets to Grapefruit. So I have an application that I am developing. The UI module includes the following: import Graphics.UI.Gtk import Graphics.Rendering.Cairo import Graphics.Rendering.Cairo.SVG import Graphics.UI.Gtk.Gdk.EventM Can you tell from that list if i am likely to be able to rewrite it to use Grapefruit? -- Colin Adams Preston Lancashire

Am Montag, 16. Februar 2009 15:13 schrieben Sie:
So I have an application that I am developing. The UI module includes the following:
import Graphics.UI.Gtk import Graphics.Rendering.Cairo import Graphics.Rendering.Cairo.SVG import Graphics.UI.Gtk.Gdk.EventM
Can you tell from that list if i am likely to be able to rewrite it to use Grapefruit?
No, this won’t work at the moment. As I already said, Grapefruit’s widget support is very restricted at the moment. (And if I say “very” I really mean it.) So Grapefruit is worlds apart from what the catch-all Graphics.UI.Gtk import provides. And there is no graphics support at the moment, so there is nothing equivalent to the Cairo interface. Coming up with a sensible purely-functional, toolkit-independent, reactive graphics interface will also need some design work. Until now, I concentrated on getting Grapefruit’s core well. This includes a scalable FRP implementation, a record system (since you don’t want to provide an input signal for every attribute of every single widget in practice) and support for writing/extending Grapefruit UI backends without writing lots of boilerplate code. Providing a wide variety of ready-to-use widgets, graphics primitives, etc. is future work which, hopefully, I can delegate largely to interested third parties. ;-) Best wishes, Wolfgang

I would actually quite like to integrate Hieroglyph with Grapefruit,
which would give you your Cairo support and give me a sensible way to
implement events outside of my really rather broken model.
On Mon, Feb 16, 2009 at 10:04 AM, Wolfgang Jeltsch
Am Montag, 16. Februar 2009 15:13 schrieben Sie:
So I have an application that I am developing. The UI module includes the following:
import Graphics.UI.Gtk import Graphics.Rendering.Cairo import Graphics.Rendering.Cairo.SVG import Graphics.UI.Gtk.Gdk.EventM
Can you tell from that list if i am likely to be able to rewrite it to use Grapefruit?
No, this won't work at the moment. As I already said, Grapefruit's widget support is very restricted at the moment. (And if I say "very" I really mean it.) So Grapefruit is worlds apart from what the catch-all Graphics.UI.Gtk import provides. And there is no graphics support at the moment, so there is nothing equivalent to the Cairo interface. Coming up with a sensible purely-functional, toolkit-independent, reactive graphics interface will also need some design work.
Until now, I concentrated on getting Grapefruit's core well. This includes a scalable FRP implementation, a record system (since you don't want to provide an input signal for every attribute of every single widget in practice) and support for writing/extending Grapefruit UI backends without writing lots of boilerplate code. Providing a wide variety of ready-to-use widgets, graphics primitives, etc. is future work which, hopefully, I can delegate largely to interested third parties. ;-)
Best wishes, Wolfgang _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Am Montag, 16. Februar 2009 16:55 schrieben Sie:
I would actually quite like to integrate Hieroglyph with Grapefruit, which would give you your Cairo support and give me a sensible way to implement events outside of my really rather broken model.
This sounds really interesting. Do you already have some concrete ideas? The important thing for Grapefruit integration would be to provide signals of pictures (i.e., time-varying pictures) instead of just static pictures. In the classic Grapefruit version, we have a graphics package which defines a special graphic signal type. For the current version, I’d prefer to use Grapefruit’s standard signal types, applied to an ordinary picture type (type of static pictures). This would mean a more composable solution (Grapefruit does time-dependence and interaction and Hieroglyph does graphics). However, there are situations where it cannot be ignored in Hieroglyph that pictures can be modified. I think of compound pictures and of lists. These should be updated incrementally but this wouldn’t work with ordinary lists etc. Grapefruit is expected to have support for incremental list signals soon. By the way, I like your multi-backend approach (Cairo and OpenGL). If Hieroglyph should act as the standard graphics library to use with Grapefruit, I would very much like if Hieroglyph’s interface would be designed as backend-independent as possible. For example, there is also 2D graphics support in Qt. In my opinion, this would be worth supporting for use in Qt-based applications. What are your plans concerning Hieroglyph backends? Best wishes, Wolfgang

"Wolfgang" == Wolfgang Jeltsch
writes: Hello Wolfgang,
congratulation for your Grapefruit release! Wolfgang> This would be really great. Writing applications with Wolfgang> Grapefruit gives me useful feedback and pressure for Wolfgang> improvement. Note that currently the set of supported widgets Wolfgang> is very low but this is likely to change during the next weeks Wolfgang> and it should often be very easy to port Gtk2Hs widgets to Wolfgang> Grapefruit. Hey, this sounds wonderful :-D Do you anticipate that Grapefruit will be capable for writing real-world GUI apps quit soon? Sincerely, Gour -- Gour | Zagreb, Croatia | GPG key: C6E7162D ----------------------------------------------------------------

"Peter" == Peter Verswyvelen
writes:
Peter> 2009/2/16 Gour

"Peter" == Peter Verswyvelen
writes:
Peter> LOL. Funny typo. If the apps quit soon we're in trouble! :-) Well, let's do some LOL-ing on my own account... Sincerely, Gour -- Gour | Zagreb, Croatia | GPG key: C6E7162D ----------------------------------------------------------------

I apologize, I did not mean to be rude at all, I found it a great typo to
summarize the previous attempts for doing fully functional GUIs in Haskell.
2009/2/16 Gour
"Peter" == Peter Verswyvelen
writes: Peter> LOL. Funny typo. If the apps quit soon we're in trouble! :-)
Well, let's do some LOL-ing on my own account...
Sincerely, Gour
--
Gour | Zagreb, Croatia | GPG key: C6E7162D ----------------------------------------------------------------
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Am Montag, 16. Februar 2009 16:43 schrieb Peter Verswyvelen:
2009/2/16 Gour
Do you anticipate that Grapefruit will be capable for writing real-world GUI apps quit soon?
LOL. Funny typo. If the apps quit soon we're in trouble! :-)
I’m sure that current Grapefruit applications will be quitted soon by their users. :-D Best wishes, Wolfgang

Am Montag, 16. Februar 2009 16:27 schrieb Gour:
Do you anticipate that Grapefruit will be capable for writing real-world GUI apps quit soon?
I have no concrete anticipation. It depends very much on the community. If there is notable interest and this interest makes people hacking on Grapefruit then it might not take so long until you can write real-world apps in Grapefruit. I’m really interested in developing Grapefruit further. However, I also have to do a PhD, etc. and so I need others which help. But I will try to help the helpers as much as possible and also hack myself. Various immediate reactions to my release announcement make me hopeful that there might be indeed notable Grapefruit development from other people than me. Best wishes, Wolfgang P.S.: The “hack myself” might not be a typo but it’s maybe a funny blooper.

Am Montag, 16. Februar 2009 17:46 schrieb Wolfgang Jeltsch:
Am Montag, 16. Februar 2009 16:27 schrieb Gour:
Do you anticipate that Grapefruit will be capable for writing real-world GUI apps quit soon?
I have no concrete anticipation. It depends very much on the community. If there is notable interest and this interest makes people hacking on Grapefruit then it might not take so long until you can write real-world apps in Grapefruit.
By the way, are there people out there who would like to hack on Grapefruit during the Utrecht Hackathon [1]? Best wishes, Wolfgang
participants (5)
-
Colin Paul Adams
-
Gour
-
Jeff Heard
-
Peter Verswyvelen
-
Wolfgang Jeltsch