[Haskell-cafe] I'd like start with Haskell, but...

Neil Mitchell ndmitchell at gmail.com
Sat Dec 16 19:19:30 EST 2006

Hi Waldemar,

> The final aim of the aproach is to get a tool in which there will be no
> syntactic errors during modelling bussiness logic. Recently I've finished very
> primary version of the tool (0.001:-).

Ah, now that sounds like Haskell might be good for :)

Haskell isn't great at writing a GUI and database combination, in my
experience. It certainly can, it just tends to be a bit of work.

Having said that, Haskell is _great_ for writing domain specific
libraries, for plugging together new applications and for modelling
business logic. It's likely that your business logic has some standard
set of operations, which you combine in some way - this is the thing
Haskell excels at - defining small things, and combining them in new
ways. The type system will help to ensure that the combinations are
good, which again helps reduce errors.

> I do not know C#, but what was attracting me to Haskell is - as they say -
> compact, clean and very functional way of programming.

Yes, a well designed Haskell program will give much better separation
of concerns. You can totally separate the logic from the user
interface gunk, and it will be more maintainable.

> Maybe, but what is still unclear for me: Haskell is wrong for GUI/Database
> application because of lack of good libraries or because of it's way of
> programming???

The libraries for GUI programming are not great - they are
progressing, and can certainly be used to develop tools, but I don't
feel they are "the good stuff" yet. Maybe I'm just setting the bar
higher because the rest of Haskell is so nice.

The current style of GUI programming in Haskell tends to be in the IO
monad, and feel very much like imperative programming. Haskell is
perfectly capable of being an imperative programming language where
required, but its not as natural as something like C# in this respect.

So in answer to your question, I'd say a little of both, but with the
optimistic view that one day someone will figure out what a GUI
program in Haskell should look like and everyone wlil be happy :)



More information about the Haskell-Cafe mailing list