One technique I find compelling is (ab)using the type class system for
meta programming. Something from Lightweight Static Resources, Faking
It, or Hinze's Full Circle slides might be really attractive. Perhaps
Danvy's Haskell printf? The hook might be:

"Yeah, you've heard of strong static typing and polymorphism, but did
you know you could do this?"

Also: generic programming is always a hot topic.

On 4/16/07, Simon Peyton-Jones <[EMAIL PROTECTED]> wrote:
Friends

I have agreed to give a 3-hr tutorial on Haskell at the Open Source Convention 
2007
        http://conferences.oreillynet.com/os2007/

I'm quite excited about this: it is a great opportunity to expose Haskell to a 
bunch of smart folk, many of whom won't know much about Haskell.  My guess is 
that they'll be Linux/Perl/Ruby types, and they'll be practitioners rather than 
pointy-headed academics.

One possibility is to do a tutorial along the lines of "here's how to reverse a list", 
"here's what a type is" etc; you know the kind of thing.  But instead, I'd prefer to show 
them programs that they might consider *useful* rather than cute, and introduce the language along 
the way, as it were.

So this message is to ask you for your advice.  Many of you are exactly the 
kind of folk that come to OSCON --- except that you know Haskell.   So help me 
out:

        Suggest concrete examples of programs that are
                * small
                * useful
                * demonstrate Haskell's power
                * preferably something that might be a bit
                        tricky in another language

For example, a possible unifying theme would be this:
        http://haskell.org/haskellwiki/Simple_unix_tools

Another might be Don's cpu-scaling example
        http://cgi.cse.unsw.edu.au/~dons/blog/2007/03/10

But there must be lots of others.  For example, there are lots in the blog 
entries that Don collects for the Haskell Weekly Newsletter.  But I'd like to 
use you as a filter: tell me your favourites, the examples you find compelling. 
 (It doesn't have to be *your* program... a URL to a great blog entry is just 
fine.)  Of course I'll give credit to the author.

Remember, the goal is _not_ "explain monads".  It's "Haskell is a great way to Get 
The Job Done".

Thanks!

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

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

Reply via email to