What to say about Haskell?

Hello all, I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time? Gergely -- http://www.fastmail.fm - Same, same, but different...

On 14 Jul 2009, at 15:30, Patai Gergely wrote:
Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
Lazyness and the many funky things it lets you do -- there's tons of elegant programs that are only possible because of lazyness :) Bob

On Tue, Jul 14, 2009 at 2:42 PM, Thomas Davie
On 14 Jul 2009, at 15:30, Patai Gergely wrote:
Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
Lazyness and the many funky things it lets you do -- there's tons of elegant programs that are only possible because of lazyness :)
I'd add type-classes to that. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

On Tue, Jul 14, 2009 at 3:42 PM, Thomas Davie
On 14 Jul 2009, at 15:30, Patai Gergely wrote:
Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
Lazyness and the many funky things it lets you do -- there's tons of elegant programs that are only possible because of lazyness :)
I would like to know them. I'm looking for small snippets of code that are elegant when written in Haskell (which is lazy by default) but not in other languages supporting some form of laziness (like Python+Iterators). Can you post some? Cristiano

http://www.haskell.org/haskellwiki/Tying_the_Knot would seem to be relevant.
On Tue, Jul 14, 2009 at 9:55 AM, Cristiano Paris
I would like to know them.
I'm looking for small snippets of code that are elegant when written in Haskell (which is lazy by default) but not in other languages supporting some form of laziness (like Python+Iterators).
Can you post some?
Cristiano _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

2009/7/14 Patai Gergely
Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
When you create the presentation, please consider the big picture of Haskell, not only its technological features like laziness, curryfication, HOF, monadic syntax, type inference, type classes and so on. I would concentrate on the fact that when you use Haskell, you write code that is less prone to errors and bugs. When you write a program in Haskell and it finally compiles, chances are that there are far less bugs than in a program written in another language (I'm thinking about so popular dynamic languages like Python and Ruby): hunting for "semantic" errors is a significantly shorter task. This comes directly from the technological features I mentioned above: they are in the language for a purpose. My 2 cents. Cristiano

On Tue, Jul 14, 2009 at 3:01 PM, Cristiano Paris
2009/7/14 Patai Gergely
: Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
When you create the presentation, please consider the big picture of Haskell, not only its technological features like laziness, curryfication, HOF, monadic syntax, type inference, type classes and so on.
I would concentrate on the fact that when you use Haskell, you write code that is less prone to errors and bugs. When you write a program in Haskell and it finally compiles, chances are that there are far less bugs than in a program written in another language (I'm thinking about so popular dynamic languages like Python and Ruby): hunting for "semantic" errors is a significantly shorter task.
This comes directly from the technological features I mentioned above: they are in the language for a purpose.
My 2 cents.
And maybe adding that Haskell seems to make it easy to concentrate on data flow rather than control flow. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

Hello Cristiano, Tuesday, July 14, 2009, 6:01:14 PM, you wrote:
When you create the presentation, please consider the big picture of Haskell, not only its technological features like laziness, curryfication, HOF, monadic syntax, type inference, type classes and so on.
I would concentrate on the fact that when you use Haskell, you write code that is less prone to errors and bugs. When you write a program in Haskell and it finally compiles, chances are that there are far less bugs than in a program written in another language
the question is how to justify this in 1 hour. technical people don't buy such arguments with justification. but if it will be done, it would be best presentation possible -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On Tue, Jul 14, 2009 at 4:46 PM, Bulat
Ziganshin
... the question is how to justify this in 1 hour. technical people don't buy such arguments with justification. but if it will be done, it would be best presentation possible
I think it's important to elaborate on this. Why don't we create a specific Wiki page about "Haskell advocation", developing contents suitable for a presentation to be delivered to an Haskell-unware audience? That would be useful to those people "spreading the word" :) Cristiano

On Tue, Jul 14, 2009 at 5:12 PM, Cristiano Paris
... Why don't we create a specific Wiki page about "Haskell advocation",

Any chance of renaming it to "Advocacy"? On Jul 14, 2009, at 11:42 PM, Cristiano Paris wrote:
On Tue, Jul 14, 2009 at 5:12 PM, Cristiano Paris
wrote: ... Why don't we create a specific Wiki page about "Haskell advocation",
http://haskell.org/haskellwiki/Advocation
Cristiano _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I would concentrate on the fact that when you use Haskell, you write code that is less prone to errors and bugs. When you write a program in Haskell and it finally compiles, chances are that there are far less bugs than in a program written in another language
the question is how to justify this in 1 hour. technical people don't buy such arguments with justification. but if it will be done, it would be best presentation possible That's not really the direction I'd like to take anyway, because as I said, the primary goal of this talk is not to convince these people to use Haskell, but to give them an overview that's "more helpful than reading a book", and it should definitely introduce specific language features and important patterns besides the general talk. The question is which topics are noteworthy. But here's some more context for you:
My talk will be the second (there's one every week). The first one will be a comparison of Prolog and Haskell by an expert of the former (not surprisingly a rather mathematically minded fellow), and the third one will be about monads in category theory. Also, the initiator of the seminars is mostly interested in processing natural languages, so it might be a good idea to bring up at least one relevant example -- for instance, the latest post on sigfpe's blog could be nice, but it comes with too many prerequisites. Gergely -- http://www.fastmail.fm - Access your email from home and the web

patai_gergely:
I would concentrate on the fact that when you use Haskell, you write code that is less prone to errors and bugs. When you write a program in Haskell and it finally compiles, chances are that there are far less bugs than in a program written in another language
the question is how to justify this in 1 hour. technical people don't buy such arguments with justification. but if it will be done, it would be best presentation possible That's not really the direction I'd like to take anyway, because as I said, the primary goal of this talk is not to convince these people to use Haskell, but to give them an overview that's "more helpful than reading a book", and it should definitely introduce specific language features and important patterns besides the general talk. The question is which topics are noteworthy. But here's some more context for you:
My talk will be the second (there's one every week). The first one will be a comparison of Prolog and Haskell by an expert of the former (not surprisingly a rather mathematically minded fellow), and the third one will be about monads in category theory. Also, the initiator of the seminars is mostly interested in processing natural languages, so it might be a good idea to bring up at least one relevant example -- for instance, the latest post on sigfpe's blog could be nice, but it comes with too many prerequisites.
See also Simon Peyton Jones' intro to Haskell, recently: http://erlang-factory.com/upload/presentations/116/SimonPeyton-Jones-ErlangF... http://www.erlang-factory.com/conference/London2009/speakers/SimonPeytonJone... And one big difference from Prolog: centralized community resources. One main implementation, one distribution mechanism, one build system, one central library archive. -- Don

Dear Gergely, Okasaki's "Purely Functional Data Structures" is a treasure trove of interesting things to demonstrate Haskell on. Especially the data structures based on numerical representations (skew binary numbers and so on) appealed to my mathematical side. Matthias.

Domain theory semantics, I guess. I know, that if I (or rather a younger copy of me, not knowing a thing about Haskell) would be one of your students, and you tell me that there is such a clean and nice semantics for what we are doing, I'd be excited. Patai Gergely wrote:
Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
Gergely

patai_gergely:
Hello all,
I was asked to give a one-hour 'introductory' seminar on Haskell. The audience is a bunch of very clever people with a wider than usual perspective on programming and mathematics, and my talk should be rather informational than evangelistic. Which topics do you think I should touch by all means given the short time?
I'd concentrate on the "getting things done" aspect. E.g. the efficient production of programs that utilize parallelism in different ways, something Haskell's particularly well suited for. Here's the talk I gave at Supercomputing 08, based on Simon and Satnam's summer tutorial: http://www.galois.com/blog/2008/11/12/beautiful-parallelism-harnessing-multi... Parallel programs, multicore programs == real dollar value. Lazy programs, cute but not easy to quantify the benefit. -- Don
participants (10)
-
Andrew Wagner
-
Bulat Ziganshin
-
Cristiano Paris
-
Don Stewart
-
Magnus Therning
-
Matthias Görgens
-
Max Cantor
-
Miguel Mitrofanov
-
Patai Gergely
-
Thomas Davie