----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)----