News for hackers. Stuff that matters.
Re:Why Haskell is beyond ready for Prime Time by brl on Wednesday January 14, 2009 @03:04PM (#434180)
Rather than writing blog articles touting how great your favorite language is for general purpose programming you should write some code.

When you have more non-trivial applications written in Haskell than a Haskell compiler and a DVCS it will be a lot more credible to talk about it being ready for 'Prime Time'.

Re:Why Haskell is beyond ready for Prime Time by patio11 on Wednesday January 14, 2009 @11:20PM (#434796)
Amen to that.

You can even have very broad definitions of "non-trivial": it used to be received gospel on one programming board I frequent that Java was a terrible choice for a downloadable application. If you tried it your users would abandon you in the middle of their 120 terabyte download, your application would win awards for poor non-native design, and it would take approximately seven years to boot the JVM.

Then I made a few tens of thousands of dollars with Bingo Card Creator. (Which is written in Java. Further frustrating my efforts to win geek cred, the UI is in Swing.)

We don't hear much about the impossibility of making money with downloadable Java applications these days.

Re:Why Haskell is beyond ready for Prime Time by eelco on Wednesday January 14, 2009 @03:54PM (#434256)
I'll give the same reply as was given in the comment thread of the article, which you apparently didn't read.

http://hackage.haskell.org/packages/archive/pkg-list.html

Re:Why Haskell is beyond ready for Prime Time by brl on Wednesday January 14, 2009 @04:35PM (#434329)
Hasn't changed since I last looked at it. Still a big clusterfuck of esoteric math libraries, wrappers for useful things written in other (practical) languages, and a handful of half finished clones of libraries and applications first written 10 or 20 years ago in C.
Re:Why Haskell is beyond ready for Prime Time by intoverflow on Wednesday January 14, 2009 @10:26PM (#434761)
This is a bit unfair. Every code repository has this sort of thing. The quality of a repository shouldn't be the ratio of [no-external-dependency + extremely mature] projects, but rather should be based on whether or not people can find what they need there. I'd argue that Hackage has that.

As for being full of bindings to languages written in other libraries, why is that a bad thing? In general, these libraries are common, cross platform, and thoroughly tested. Isn't code-reuse worth something?

Re:Why Haskell is beyond ready for Prime Time by dons on Saturday January 17, 2009 @08:24PM (#438856)
A 1000 libs and apps produced by an open source community in 18 months. Sure, clusterfuck. Good work.

Here's a breakdown by category: http://galois.com/~dons/images/chart-hackage.png

Science works, bitches.

Re:Why Haskell is beyond ready for Prime Time by wernerv0nbraun on Wednesday January 14, 2009 @11:44PM (#434822)
about a package a day is being added to hackage, so my guess is that you are just spewing uninformed bullshit.

you don't know anything about haskell, hackage, or anything related. stop commenting until you do.

Re:Why Haskell is beyond ready for Prime Time by sharkbrainguy on Wednesday January 14, 2009 @03:15PM (#434196)
Like a window manager? http://xmonad.org/
Re:Why Haskell is beyond ready for Prime Time by brl on Wednesday January 14, 2009 @04:25PM (#434315)
I like xmonad, but it's still just a 500 line ultra-minimalist window manager.

Students in introductory programming classes write programs longer than that.

Get back to me when you've implemented KDE, Aqua, or Aero in Haskell.

Re:Why Haskell is beyond ready for Prime Time by wernerv0nbraun on Wednesday January 14, 2009 @11:37PM (#434815)
you find me one introductory programming student who can even read the code for xmonad let alone write it

xmonad is feature-laden

it is a small codebase not because it is trivial, but because the people who wrote it are kick-ass coders

Re:Why Haskell is beyond ready for Prime Time by time_management on Wednesday January 14, 2009 @11:53PM (#434828)
Lines of code fails as a measure of code quantity for languages like Lisp and Haskell. 500 lines of Haskell code can accomplish what will take 1500-5000 lines of Java.
Re:Why Haskell is beyond ready for Prime Time by brl on Thursday January 15, 2009 @12:42AM (#434874)
When I'm trying to get stuff done I would rather spend 3x as much time typing in code than waste all week deciphering 'core' and reading heap profiling output to track down a space leak that could never happen in any other language.
Re:Why Haskell is beyond ready for Prime Time by time_management on Thursday January 15, 2009 @08:37AM (#435120)
Have you had this problem with Haskell?

I've heard that Haskell's space performance isn't great, but I don't know enough about the language to confirm or deny this.

I would recommend, if you're concerned with performance, using Ocaml. You can compile it down to native code, and its performance characteristics are comparable to C.

Re:Why Haskell is beyond ready for Prime Time by brl on Thursday January 15, 2009 @12:05PM (#435326)
Yes, I have had to solve this problem a lot. It's probably my own fault because I am an inexperienced Haskell programmer, and maybe it's just because I'm incompetent but I find space performance very difficult to reason about.

It seems like anybody can make these mistakes, and they are mostly invisible until one day your problem size is a little bit larger than normal and your program explodes and crashes.

Re:Why Haskell is beyond ready for Prime Time by time_management on Thursday January 15, 2009 @12:51PM (#435408)
Noob question: Why is space performance so opaque in a lazy language?
Re:Why Haskell is beyond ready for Prime Time by brl on Thursday January 15, 2009 @02:38PM (#435568)
Noob answer:

In a strict language, you write an expression and it's perfectly clear when it will be evaluated.

With lazy evaluation to know if or when an expression will be evaluated you have to follow it through possibly many layers of function calls (which may have been written by somebody else) looking for a place where it needs to be evaluated. Along the way it may become embedded in other expressions which complicates the problem.

How do you know when an expression needs to be evaluated? I don't know if I'm smart enough to understand the answer to that question:

http://en.wikibooks.org/wiki/Haskell/Denotational_semantics#...

Re:Why Haskell is beyond ready for Prime Time by wernerv0nbraun on Thursday January 15, 2009 @12:47AM (#434881)
then java is for you. good luck.
Re:Why Haskell is beyond ready for Prime Time by prakash on Wednesday January 14, 2009 @03:35PM (#434232)
Jeff Polakow: Is Haskell Ready for Everyday Computing?

http://cufp.galois.com/2008/slides/PolakowJeff.pdf

Re:Why Haskell is beyond ready for Prime Time by andreyf on Wednesday January 14, 2009 @05:30PM (#434443)
Rather than writing blog articles...

Why not do both? Preaching the Good Word can go hand-in-hand with practicing it.

Re:Why Haskell is beyond ready for Prime Time by tptacek on Wednesday January 14, 2009 @05:57PM (#434491)
Because you're spending credibility.
Re:Why Haskell is beyond ready for Prime Time by intoverflow on Wednesday January 14, 2009 @10:21PM (#434756)
This isn't a "spending credibility" situation. Credibility is something you need when you're asking someone to believe something based on your authority. In this case, I wrote an article filled with links with the hope that the reader could evaluate the claim based on that material.

Besides, I don't think I should need to spend all of my waking time coding; I already spend several hours a day doing that. Why can't I take a break to argue that Haskell's tools make the language more production focused than most people realize?

Re:Why Haskell is beyond ready for Prime Time by brl on Thursday January 15, 2009 @12:27AM (#434861)
In your article you claim that Haskell enables 'people to write sophisticated programs in less time and with greater reliability.'

Am I out of line to expect some sophisticated Haskell programs to exist before taking this claim seriously?

Re:Why Haskell is beyond ready for Prime Time by wernerv0nbraun on Thursday January 15, 2009 @01:13AM (#434911)
how about an operating system (house) a window manager (xmonad) and fully featured dvcs (darcs) or another (camp)?

is there as much haskell out there as c, perl, python? no. but if you want to be a pioneer you have to drive on a little dirt. but don't worry, we'll keep plugging away and in no time at all the haskell highway will be lined with HoJos and rest stops and miles of flat-top...we'll send you a postcard.

Re:Why Haskell is beyond ready for Prime Time by tptacek on Thursday January 15, 2009 @12:48PM (#435401)
Ok, you're not addressing the subtext here. Nobody is going to get fired for choosing Python. You are actually likely to get fired for choosing Haskell, in Q1'2009.
Re:Why Haskell is beyond ready for Prime Time by intoverflow on Thursday January 15, 2009 @12:51PM (#435410)
Not every program is written in the context of "I need to pick a language to use at my desk job." In fact, a great deal of software is very obviously not written in this context.
Re:Why Haskell is beyond ready for Prime Time by tptacek on Thursday January 15, 2009 @05:39PM (#435833)
Ok, so Haskell isn't ready for things you'd write at your desk job. Got it.
Re:Why Haskell is beyond ready for Prime Time by anamax on Thursday January 15, 2009 @01:42AM (#434929)
> how about an operating system (house) a window manager (xmonad) and fully featured dvcs (darcs) or another (camp)?

How about not.

Languages get adopted because they make new things possible/easier, not because they're good for re-inventing the wheel.

Re:Why Haskell is beyond ready for Prime Time by intoverflow on Thursday January 15, 2009 @12:50PM (#435405)
Sure, though the authors of these applications would tell you that the language did make these activities easier.

Of course, "make new things possible" is a tricky thing to make sense of. What new thing did Python make possible? Or Ruby? Or PHP? Or Perl?

Re:Why Haskell is beyond ready for Prime Time by silentbicycle on Thursday January 15, 2009 @07:54AM (#435103)
Darcs, at least, broke new ground. It was a very innovative VCS.

I'm not sure about which features originated in dwm vs. xmonad (there seems to be cross-pollination of ideas between the two, so that's a good thing either way), and I haven't used house or camp.

Re:Why Haskell is beyond ready for Prime Time by anamax on Thursday January 15, 2009 @10:58AM (#435261)
> Darcs, at least, broke new ground. It was a very innovative VCS.

Innovative does not mean valuable, or, more important, popular.

I proposed the theory that languages become popular because they make creating new things possible and/or easier.

If Darcs qualifies as such a new thing, the fact that it didn't help popularize haskell argues against my theory.

Maybe my theory is wrong. (I'd certainly patch it in certain ways.) Maybe Darcs doesn't qualify. Maybe Darcs didn't do the trick because no one knows about it.

So, let's flip the question. What has the Haskell community done that has been important in making other languages popular in the past? If they're not doing any of those things, why should Haskell nevertheless become popular? (Note that lots of "superior" languages never became popular, so if you're going that route, you get to explain why Haskell will be different.)

Re:Why Haskell is beyond ready for Prime Time by silentbicycle on Thursday January 15, 2009 @01:30PM (#435460)
I think that Darcs did help draw attention to Haskell, just that it's still not especially popular. The fact that we're talking about Haskell and not e.g. Joy says something about it at least crossing a low threshold of popularity, though.

(XMonad is a much less significant example for Haskell's popularity, IMHO.)

It seems highly likely to me that Haskell's type system made inventing Darcs's theory of patches significantly easier. While a Darcs-like system could be written in C, designing the system as a whole was almost certainly aided greatly by Haskell's type checking and lightening of certain conceptual burdens through laziness.