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