Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-12 Thread Hans van Thiel
On Wed, 2007-12-12 at 16:27 +0100, Hans van Thiel wrote: [snip] I fear those people can do vast amounts of damage. :( When inept programming yields the wrong result, it is clear (even to the inept) that the program is bad. When the result is correct but there are egregious time

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Hans van Thiel
On Mon, 2007-12-10 at 20:00 +0100, Henning Thielemann wrote: [snip] I raise my question once again: Must Haskell's tutorials be tailored to impatient programmers? Does Haskell need quickdirty hackers? IMO yes, because it exposes the language to the outside world and that's a form of testing.

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Wolfgang Jeltsch
Am Dienstag, 11. Dezember 2007 14:46 schrieb Hans van Thiel: On Mon, 2007-12-10 at 20:00 +0100, Henning Thielemann wrote: [snip] I raise my question once again: Must Haskell's tutorials be tailored to impatient programmers? Does Haskell need quickdirty hackers? IMO yes, because it exposes

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Tim Newsham
I haven't been following this thread closely, but would it be rude to suggest that someone who doesn't want to put the effort into learning the (admittedly difficult) concepts that Haskell embodies shouldn't be using the language? Haskell was never intended to be The Next Big Popular Language.

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Conal Elliott
This is at odds with the notion, popular on this list and other haskell forums, that pure functional programming is the future. Perhaps a nit-pick, but I don't think we're talking about *pure* functional programming. I think we're talking about a mixture of functional and imperative programming

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Conal Elliott
I'm not sure there are many of us left pursuing that vision. P.S. I'd love to learn otherwise. On Dec 11, 2007 10:02 AM, Conal Elliott [EMAIL PROTECTED] wrote: This is at odds with the notion, popular on this list and other haskell forums, that pure functional programming is the future.

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Hans van Thiel
On Tue, 2007-12-11 at 16:56 +0100, Wolfgang Jeltsch wrote: Am Dienstag, 11. Dezember 2007 14:46 schrieb Hans van Thiel: On Mon, 2007-12-10 at 20:00 +0100, Henning Thielemann wrote: [snip] I raise my question once again: Must Haskell's tutorials be tailored to impatient programmers?

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Lennart Augustsson
And more power to those who are pursuing the vision! But in the mean time I need to read and write files, start up external programs, call Excel through FFI, etc, etc. And there's no clever API for that yet, only IO. And I'd rather do IO in Haskell than in C++. I share the vision, though. I'm

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Dan Weston
Hans van Thiel wrote: On Tue, 2007-12-11 at 16:56 +0100, Wolfgang Jeltsch wrote: Maybe there are also patient people in the outside world so that we can still expose Haskell to the outside world while not trying to attract quick-and-dirty hackers. ;-) But who are those people? And what harm

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Conal Elliott
It may be helpful to distinguish teaching/preaching (a) programming in Haskell from (b) *functional* programming (in Haskell or otherwise). Each focus is present in the conversation. Perhaps IO helps the former and hinders the latter.- Conal ___

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Wolfgang Jeltsch
Am Dienstag, 11. Dezember 2007 18:34 schrieb Tim Newsham: […] Why is it that every time the topic of teaching basic concepts in an easier way comes up there are always two or three replies that say should we bother? lets filter out the idiots? I think that two different things are mixed in

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-11 Thread Alex Jacobson
It might help to point out that its easy to end up with memory/space leaks in Java/python/ruby/perl too. Also stack overflow is really easy. Also, you can get into really deep badness if you do anything interesting with concurrency because of the global interpreter lock etc. As far as

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Daniel Fischer
Am Montag, 10. Dezember 2007 10:36 schrieb Ketil Malde: Daniel Fischer [EMAIL PROTECTED] writes: Well, I guess you could get pretty far using 'interact' - far enough in an educational setting to do lists and Maybe, and then monads, before introducing monadic IO. Pretty far, yes, and in

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Dan Piponi
On Dec 10, 2007 4:51 AM, Daniel Fischer [EMAIL PROTECTED] wrote: Am Montag, 10. Dezember 2007 10:36 schrieb Ketil Malde: Daniel Fischer [EMAIL PROTECTED] writes: Various other people write: ... lots of talk about monads and IO ... When someone comes to me and says I have this Python

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Henning Thielemann
On Mon, 10 Dec 2007, Dan Piponi wrote: When someone comes to me and says I have this Python script that scans through these directories and finds the files that meet these criteria and generates a report based on this template, could I do it better in Haskell? it'd be good to have a better

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Wolfgang Jeltsch
Am Montag, 10. Dezember 2007 19:44 schrieb Dan Piponi: […] Maybe hardened Haskell programmers don't notice these things, but there's a wall that goes up when Haskell is presented to non-functional programmers. There are significant barriers for them to cross (some of them imaginary): That’s

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Wolfgang Jeltsch
Am Montag, 10. Dezember 2007 20:00 schrieb Henning Thielemann: […] I raise my question once again: Must Haskell's tutorials be tailored to impatient programmers? Does Haskell need quickdirty hackers? Who want Haskell to be plastered with syntactic sugar? ;-) ;-) Best wishes, Wolfgang

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Luke Palmer
On Dec 10, 2007 7:09 PM, Wolfgang Jeltsch [EMAIL PROTECTED] wrote: there's the fear that laziness can impact performance, Hmm, tell them that performance isn't all and that laziness helps you to write more modular programs. Nah, in this case I've found it's better to realistically compare

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Dan Piponi
On Dec 10, 2007 11:00 AM, Henning Thielemann [EMAIL PROTECTED] wrote: Does Haskell need quickdirty hackers? The question isn't Does Haskell need quickdirty hackers? It's would we get better software (using your favourite metric) if we put Haskell into the hands of quick and dirty hackers?. I

Re[2]: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Bulat Ziganshin
Hello Dan, Monday, December 10, 2007, 9:44:06 PM, you wrote: When someone comes to me and says I have this Python script that just my cent or two for this discussion: sometime ago I've started an introduction to IO tutorial. it's both not in English and not finished so i'll just explain its

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Ketil Malde
Dan Piponi [EMAIL PROTECTED] writes: The question isn't Does Haskell need quickdirty hackers? It's would we get better software (using your favourite metric) if we put Haskell into the hands of quick and dirty hackers?. I think the answer might be yes. This is an interesting trade-off: if

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Lennart Augustsson
If Haskell wants yo significantly widen it's audience then the tutorials have to cater for the impatient. Perhaps it's better to remain a fringe language. I truly don't know. -- Lennart On Dec 10, 2007 7:00 PM, Henning Thielemann [EMAIL PROTECTED] wrote: On Mon, 10 Dec 2007, Dan Piponi

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Paul Moore
On 10/12/2007, Henning Thielemann [EMAIL PROTECTED] wrote: On Mon, 10 Dec 2007, Dan Piponi wrote: When someone comes to me and says I have this Python script that scans through these directories and finds the files that meet these criteria and generates a report based on this template,

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread jerzy . karczmarczuk
Paul Moore after Henning Thielemann after Dan Piponi: There are thousands of competing programming languages out there, and there are dozens that are viable choices for the task I just mentioned. If my response to their question takes longer than the time it would take to find another

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Claus Reinke
Maybe hardened Haskell programmers don't notice these things, but there's a wall that goes up when Haskell is presented to non-functional programmers. There are significant barriers for them to cross (some of them imaginary): there's the infamous type system, there's the mystique around monads,

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread David Menendez
On Dec 10, 2007 1:44 PM, Dan Piponi [EMAIL PROTECTED] wrote: When someone comes to me and says I have this Python script that scans through these directories and finds the files that meet these criteria and generates a report based on this template, could I do it better in Haskell? it'd be

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Michael Vanier
I haven't been following this thread closely, but would it be rude to suggest that someone who doesn't want to put the effort into learning the (admittedly difficult) concepts that Haskell embodies shouldn't be using the language? Haskell was never intended to be The Next Big Popular Language.

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Donn Cave
On Dec 10, 2007, at 12:40 PM, Dan Piponi wrote: On Dec 10, 2007 11:00 AM, Henning Thielemann [EMAIL PROTECTED] wrote: Does Haskell need quickdirty hackers? The question isn't Does Haskell need quickdirty hackers? It's would we get better software (using your favourite metric) if we put

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-10 Thread Henning Thielemann
On Mon, 10 Dec 2007, Paul Moore wrote: On 10/12/2007, Henning Thielemann [EMAIL PROTECTED] wrote: I raise my question once again: Must Haskell's tutorials be tailored to impatient programmers? Does Haskell need quickdirty hackers? Haskell is the most practical functional language I have

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Conal Elliott
IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. The more people who believe it, the more true it becomes. If you want to do functional programming, instead of imperative programming in a

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Daniel Fischer
Am Sonntag, 9. Dezember 2007 18:31 schrieb Conal Elliott: IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. The more people who believe it, the more true it becomes. If you want to do

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Lennart Augustsson
Conal, It's true that you can avoid using IO (except for a wrapper) for certain kinds of programs. For instance, if all you want is a String-String function, or some GUI program (you forgot to mention fudgets, which was the first wrapper of this kind) then you can ignore IO and just use a nice

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Conal Elliott
Thanks. If I'm tracking, your real point is that imperative programming in Haskell is still useful enough to keep around. I agree. I'm still puzzled. Did you understand something I said, or maybe someone else said, as suggesting that imperative programming be removed from Haskell any time

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-09 Thread Ketil Malde
Daniel Fischer [EMAIL PROTECTED] writes: IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. I think Lennart was referring to that, you HAVE to know a little IO to write programmes, at least

Re: [Haskell-cafe] IO is a bad example for Monads

2007-12-09 Thread Daniel Fischer
Am Sonntag, 9. Dezember 2007 23:35 schrieb Ketil Malde: Daniel Fischer [EMAIL PROTECTED] writes: IO is important because you can't write any real program without using it. Ouch! I get awfully discouraged when I read statements like this one. I think Lennart was referring to that,

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Lennart Augustsson
I doubt all imperative programming will be banished from Haskell anytime soon. I really, really wish we had all the nice abstractions in place already, but we just don't. You can't write any program in Haskell without using IO, because the type of main involves IO. And currently I believe that

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-09 Thread Conal Elliott
It so happens that Haskell currently insists on main :: IO (). That's simple to fix, however, and with great pay-off. Suppose instead main :: TV a (where I'm omitting the other TV type args for simplicity.) Then a program could not only be run, but also composed with other programs. They could

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-08 Thread Lennart Augustsson
I agree with Dan here. IO is important because you can't write any real program without using it. So why not teach enough of it to get people off the ground straight away? People who hang around long enough to do some more Haskell programming will run into the other monads sooner or later. But

[Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-03 Thread Ben Franksen
Dan Piponi wrote: On Dec 3, 2007 3:54 PM, Ben Franksen [EMAIL PROTECTED] wrote: I don't buy this. As has been noted by others before, IO is a very special case, in that it can't be defined in Haskell itself, and there is no evaluation function runIO :: IO a - a. I'm not sure what a

Re: [Haskell-cafe] IO is a bad example for Monads [was: do]

2007-12-03 Thread Dan Piponi
On Dec 3, 2007 6:36 PM, Ben Franksen [EMAIL PROTECTED] wrote: then the special features of IO will remain associated with monads in general, leading to a whole jumble of completely wrong ideas about them. As I only learnt about monads a couple of years ago, the process is still fresh in my