Re: [Haskell-cafe] Guess what ... Tutorial uploaded! :)

2006-01-23 Thread Paul Moore
On 1/22/06, Dmitry Astapov [EMAIL PROTECTED] wrote:
 Recend thread Tutorial upload reminded me of my intentions to write
 haskell tutorial which I suppresend from the times when Hal Daume
 began to write YAHT. Unusually low temperature here (-22C) freed me a
 lot of time this weekend, and the result it here:

 http://www.haskell.org/hawiki/HitchhickersGuideToTheHaskell

 This is a work in progress, plus I'm trying it on C++/Java folk around
 me, so it's bound to be heavily corrected, but main direction could
 already be seen (I hope). If you want - jump on the wagon, and provide
 me with (constructive) criticism, edits on hawiki or anything else you
 see fit.

I like the approach - using real tools to perform sensible tasks. I'm
not a real newbie any more (but hardly an expert!) so I can't really
comment on whether the approach is OK for someone who's never tried
Haskell before, but it looks good to me.

As a specific example, I haven't used Parsec much, and the section on
that is just right - enough details for me to see how I use it, but no
more than that, so I'm encouraged to go and look at the manuals if I
need any extra.

Keep up the good work! (I won't wish any more -22C weather on you, but
I hope you find time to keep going).

Some other sample tasks might be a web service, and database access.
Neither is trivial in Haskell, due to the need to search out the right
libraries, but both are very common real-life jobs.

Paul.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Guess what ... Tutorial uploaded! :)

2006-01-23 Thread Ben Rudiak-Gould

Dmitry Astapov wrote:

http://www.haskell.org/hawiki/HitchhickersGuideToTheHaskell


I like the approach too, but the section on IO actions, which I'm reading 
now, is not correct. It's not true that a - someAction has the effect of 
associating a with someAction, with the actual work deferred until later. 
All of the IO associated with someAction happens at the program point where 
a - someAction appears, whether or not it's needed later. getContents is 
a rare exception to this rule. It works by using unsafeInterleaveIO behind 
the scenes, which muddies Haskell's generally clean semantics and leads to 
odd impure behavior. I wish getContents were a good example of nonstrictness 
or laziness, but I don't think it is.


-- Ben
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe