[Haskell-cafe] Building GUIs for Haskell programs
Jules Bean
jules at jellybean.co.uk
Wed Jan 12 06:34:49 EST 2005
On 12 Jan 2005, at 11:10, Matthew Roberts wrote:
>> Can anyone attest to the sense (or otherwise) of the following
>> programming "pattern"
>>
>> - program all back end stuff in Haskell and compile to library
>> - program all GUI stuff in *insert imperative language of choice" and
>> link to the library for back end functionality
>>
>> It seems the ultimate decoupling of interface from logic.
>>
This is roughly how I handled a recent project, in a mixture of ML and
Java.
Frankly I regret it: if I did it again, I would do the whole thing in
ML (or perhaps haskell). Once you get used to languages with real
higher-order features and powerful abstraction notions, it is a real
pain reverting to a language like Java (or C or C++ or perl or...)
ML, despite being thought of as a primarily functional language, is
still (IMO, of course) a 'better' imperative language than Java,
because of features like closures and local declaration of functions. I
think the same holds of haskell using an appropriate monad instead of
ML's imperative features.
All this is of course entirely dependent on having a suitable GUI
library or set of bindings for haskell. I haven't tried wxHaskell yet
so I can't comment there. (And for some applications, some languages
may be too slow, but I was ignoring efficiency in the above)
Jules
More information about the Haskell-Cafe
mailing list