----Next_Part(Fri_Sep__3_12:26:59_1999_809)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Yesterday, I stumbled over the following comment on the
reading list of Havoc Pennington, Red Hat employee and
author of a book on GTK+ and a book on GNOME programming:

  The Craft of Functional Programming (buy from Amazon)
  describes the Haskell programming language. This book is
  meant to be an introductory CS text - it doesn't have as
  many concepts as SICP, but it has the basics, and learning
  Haskell will teach you a lot more about programming than
  learning C. Haskell is neat. I wish it had a few more
  practical-minded people making the implementation usable
  on free UNIX clones (though the main Haskell compiler and
  interpreter (ghc and Hugs) are now under free licenses,
  which is encouraging). You can learn about Haskell here.
  Haskell is the least-broken programming language available
  today. C, C++, Perl, Python, Java, and all the other
  languages you've heard of are all much more broken, so
  debating their merits is pointless. :-) Unfortunately Real
  Life involves dealing with brokenness.

I found that a pretty interesting statement coming from a
well known C hacker.  So, I asked him what exactly he means
by ``practical-minded people'' ;-)  Read his answer in the
attached mail - I think it fits very well into a couple of
recent discussions on this list.

Manuel

PS: His comment about a haskell-users list for practical
    Haskell questions is interesting; [EMAIL PROTECTED]
    may indeed be a bit scary for "normal" users.

PPS: And please excuse the comment about "brainwashed FP
     researcher" ;-)


----Next_Part(Fri_Sep__3_12:26:59_1999_809)--
Content-Type: Message/Rfc822
Content-Transfer-Encoding: 7bit

Return-Path: <[EMAIL PROTECTED]>
Return-Path: <[EMAIL PROTECTED]>
Received: from poplar.is.tsukuba.ac.jp (poplar.is.tsukuba.ac.jp [130.158.80.245])
        by greyarea.is.tsukuba.ac.jp (8.9.1/8.9.1) with ESMTP id DAA20724
        for <[EMAIL PROTECTED]>; Fri, 3 Sep 1999 03:53:29 +0900
Received: from icon.labs.redhat.com ([EMAIL PROTECTED] [207.175.42.144])
        by poplar.is.tsukuba.ac.jp (8.8.8/3.6W) with ESMTP id DAA05885
        for <[EMAIL PROTECTED]>; Fri, 3 Sep 1999 03:49:20 +0900 (JST)
Received: from localhost (hp@localhost)
        by icon.labs.redhat.com (8.9.3/8.9.3) with ESMTP id OAA01323
        for <[EMAIL PROTECTED]>; Thu, 2 Sep 1999 14:45:48 -0400
X-Authentication-Warning: icon.labs.redhat.com: hp owned process doing -bs
Date: Thu, 2 Sep 1999 14:45:48 -0400 (EDT)
From: Havoc Pennington <[EMAIL PROTECTED]>
To: "Manuel M. T. Chakravarty" <[EMAIL PROTECTED]>
Subject: Re: Haskell on your Web page
In-Reply-To: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII


On Thu, 2 Sep 1999, Manuel M. T. Chakravarty wrote:
> 
> This is very interesting because (a) I guess I am one of the
> people who you would like to be more practical minded and

Well, it sounds like you are already practical-minded. :-)

> [I think, this is not completely fair, as the model seems to
> work quite ok for GHC, but Hugs has problems in this
> respect.]
>

Hmm, as Jamie Zawinski says, OSS is not magic pixie dust. There are lots
of elements to a successful project: 
 - The project has to be immediately useful to people in real-world
   applications; and people have to be using it.
 - Development has to be open (on public lists) and developers have
   to be very responsive to bug reports, and make frequent releases.
 - The code has to be easy to start working on. Obfuscated or 
   really complex code tends to be limited to one or two 
   people working on it at a time.

Even so, no project has a _lot_ of core coders; the GNOME core code has
maybe 20 people that are really constantly and heavily involved, Apache
has 12 or so, the kernel might have 30 or 40. These are some of the
world's largest projects. However, you typically get small patches from a
much larger group, assuming you have lots of users.

So, it's important to manage expectations; OSS can certainly help Haskell
by increasing interest, getting Haskell shipped with OS distributions,
getting Haskell used in more projects; but OSS is a development model and
"mindset" in addition to a license... 

Well, those are my thoughts, feel free to forward them to others.
 
> package).  So, something must be wrong with the advertising
> if you got the stated impression - I wonder, what?
>

I said it's not yet usable on free UNIX clones, I guess I really mean it's
not yet ideal for real-world applications. For example:
 
 - There are CS 101 texts using Haskell, but is there any real-world 
   documentation, such as "CGI programming with Haskell" or "Learning 
   Haskell"? 
   For example, http://www.haskell.org/bookshelf/ has no 
   "applied" documentation whatsoever, such as GUI toolkit APIs or 
   the POSIX API or whatever.

 - I haven't even been able to find much sample source code for 
   "real" applications; it's annoyingly common that people 
   write a paper about something that sounds interesting, and then 
   the only way to get the code is to email the author! 

 - The wealth of libraries and modules available for C/Perl/Python 
   just aren't available yet - no CGI module, for example; at 
   least, not that I know of.

 - When Hugs and ghc are merged a bit, that will be a big 
   help of course - I think I read somewhere that soon 
   the same HaskellDirect stuff will work for both, so 
   GTK bindings for example will work with Hugs

 - Hard to do GUI stuff with Haskell; of course your GTK work
   will help. :-) Tk is helpful too of course.

 - Is there a haskell-users list for practical Haskell questions?
   It seems that there's only the one big mailing list for all 
   Haskell stuff, with a traditional research focus.

 - You have an inherent disadvantage: people don't know how to write 
   functional programs, myself included most of the time. There's 
   a learning curve.

So, Haskell is sort of in the same boat with Guile; it's just not quite
ready, and so people are preferring to use Python or C++. I'm eager to see
progress made.

One concern that I have is the Artistic license on Hugs; this might make
it hard to embed Hugs in other applications (such as the embedded Python,
Perl, and Guile interpreters in the Gnumeric spreadsheet). An Artistic/GPL
option like Perl might be nicer, or just the X-style license. I'm sure the
Hugs authors are sick of hearing about this though.

>   http://www.score.is.tsukuba.ac.jp/~chak/haskell/gtk/
> 
> Moreover, I am planing to work at CORBA support and
> interfacing to GNOME next year.  There is already an IDL
> compiler for Haskell, but it works only with COM so far.  I
> guess, it shouldn't be too difficult to get it to work with
> ORBit.
>

Excellent, I am very happy to hear you're planning the GNOME work. 
I already had a "play with Haskell-GTK" item on my TODO list at
 http://www106.pair.com/rhp/gnome-plans.html
But for now I don't really have time. :-( I have to finish GNOME 2.0
first.

> So, in the end, GNOME programmers should be able to use
> Haskell for their applications and Haskell programmers
> should have a descent GUI and desktop environment.  If you
> have any suggestions concerning this project or the
> relationship between Haskell and the Linux community in
> general, I would be delighted to hear them.
> 

OK, I sent lots of suggestions, many are probably just my ignorance. Feel
free to forward this email.

I'd love to support Haskell on the GNOME platform, and if we can do
anything to make that easier I'd love to hear it. Please feel free to
submit bugs to bugs.gnome.org if anything about GTK+ or Gnome makes it
hard or impossible to support a feature in Haskell. 

> PS: I found it also interesting that you are by now the
>     fifth person I know who seems (a) not to be a
>     brainwashed FP researcher, (b) but to be fascinated by
>     Haskell, and (c) be a pro-free-software programmer who
>     just somehow stumbled over the language by accident
>     (maybe you didn't stumble over it by accident, I don't
>     know).  I think, somehow hackers like Haskell :-)
> 

Exactly. :-) We are just using C and Python because of
unfortunate real-world circumstances like availability of support and
documentation, add-on modules, marketing, and the like. If we could use a
nicer language, that would be lovely.

Havoc


----Next_Part(Fri_Sep__3_12:26:59_1999_809)----


Reply via email to