Re: [Haskell-cafe] Features of Haskell
Jared Updike wrote: I was always impressed with Autrijus Tang's presentation here: http://www.pugscode.org/euroscon/haskell.xul (view with Firefox or other Gecko-based browser) Unfortunately, this presentation alone is incomprehensible to someone who does not know Haskell. I suspect it would do much better with audio. I think Haskell really needs something like http://oodt.jpl.nasa.gov/better-web-app.mov and http://ia301106.us.archive.org/1/items/SeanKellyGettingYourFeetWetwithPlone/wetfeet.mov to make the point. Sean Kelly's screencasts made a big impression and have been very widely downloaded and have really done a lot to promote Plone in recent months. -- Tracy R Reed http://ultraviolet.org ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
Tracy R Reed wrote: Jared Updike wrote: I was always impressed with Autrijus Tang's presentation here: http://www.pugscode.org/euroscon/haskell.xul (view with Firefox or other Gecko-based browser) Unfortunately, this presentation alone is incomprehensible to someone who does not know Haskell. I suspect it would do much better with audio. I think Haskell really needs something like http://oodt.jpl.nasa.gov/better-web-app.mov and http://ia301106.us.archive.org/1/items/SeanKellyGettingYourFeetWetwithPlone/wetfeet.mov to make the point. Sean Kelly's screencasts made a big impression and have been very widely downloaded and have really done a lot to promote Plone in recent months. Interesting. I just gave a talk to the SGVLUG (San Gabriel Valley Linux Users Group, which is centered at Cal Tech). It was the first time I've given such a talk, half about Linspire/Freespire, half about Haskell features, and the other three halves were technical problems. I looked at Tang's presentation as well, and while there were parts that I thought wonderful (the definition of fibonacci with parallel list comprehension, for example), I thought that most of it would go right past an audience of beginners. I didn't get a chance to practice my talk beforehand, so there were rough spots, but in general I felt they got as much as could be expected in a whirlwind tour. Of course, I lost them completely at the IO monad. Writing the slides, I found that it is hard to disentangle all the concepts and build from the ground up. Those of us who use it have forgotten just how many new concepts there are and how tightly bound together they are in Haskell. As always, when you try to teach something you get a deeper understanding of it. I'll see if I can't clean up some of the examples with hindsight and send it along to you and see what you think. Cliff ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
ramble On Fri, Jun 09, 2006 at 02:16:47AM -0700, Clifford Beshers wrote: Interesting. I just gave a talk to the SGVLUG (San Gabriel Valley Linux Users Group, which is centered at Cal Tech). It was the first time I've given such a talk, half about Linspire/Freespire, half about Haskell features, and the other three halves were technical problems. Oh, I live a block from Caltech, I didn't know there was a Haskell talk there. Writing the slides, I found that it is hard to disentangle all the concepts and build from the ground up. Those of us who use it have forgotten just how many new concepts there are and how tightly bound together they are in Haskell. As always, when you try to teach something you get a deeper understanding of it. I'll see if I can't clean up some of the examples with hindsight and send it along to you and see what you think. I always prefered using a chalkboard (or whiteboard, or overhead + markers) instead of a pre-prepared slideshow when giving talks. it lets me change the focus depending on audience reaction and questions more. If you can get away with it, I'd recommend it for future talks, ignore anyone that says it is not profesional, they wouldn't have paid attention anyway to anything other than your font choices and choice of screen-wipes between slides. John /ramble -- John Meacham - ⑆repetae.net⑆john⑈ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
John Meacham wrote: ramble On Fri, Jun 09, 2006 at 02:16:47AM -0700, Clifford Beshers wrote: Interesting. I just gave a talk to the SGVLUG (San Gabriel Valley Linux Users Group, which is centered at Cal Tech). It was the first time I've given such a talk, half about Linspire/Freespire, half about Haskell features, and the other three halves were technical problems. Oh, I live a block from Caltech, I didn't know there was a Haskell talk there. Dang! I referenced your 'small but featureful grep' as an example of how Haskell should help reduce the need for `little languages' and two-level languages. I promised to come back in six months or so and talk about the progress we've made on development tools for Freespire. I'll let you know. Writing the slides, I found that it is hard to disentangle all the concepts and build from the ground up. Those of us who use it have forgotten just how many new concepts there are and how tightly bound together they are in Haskell. As always, when you try to teach something you get a deeper understanding of it. I'll see if I can't clean up some of the examples with hindsight and send it along to you and see what you think. I always prefered using a chalkboard (or whiteboard, or overhead + markers) instead of a pre-prepared slideshow when giving talks. it lets me change the focus depending on audience reaction and questions more. If you can get away with it, I'd recommend it for future talks, ignore anyone that says it is not profesional, they wouldn't have paid attention anyway to anything other than your font choices and choice of screen-wipes between slides. If I had been doing a tutorial, I might have done that, but I was doing a whirlwind tour where the goal was to get people excited. Also, I find that the first time presenting some information, I do better if I lay it out before hand. Explanation of code is a different beast than creation of it. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell]
On Sun, Jun 04, 2006 at 11:21:23AM +0200, Niels Van Och wrote: [snip] Now, in a week I have to present this work formally, and I'm a bit stumped as to how I'm going to do this. I've got about 15-20 minutes, so I can only discuss the major features. Right now I'm thinking about: - Short introduction to functional programming, and Haskell in it - Basic syntax in a few minutes - Features like polymorphism, overloading, higher-order functions, comprehensions, .. - Lazy evaluation - Monads: why and how? However, I'd love to know what you think. Furthermore, do you think I should include an example on the usage of Haskell, and if so, which? Hi Niels, 15-20 mins isn't much time, so I would get straight to the point. I wouldn't bother introducing the syntax, just explain it as you go, to save time. I've always liked zipWith as an example for _short_ presentations. It is higher-order, polymorphic, and lazy. The classic fibonacci generator comes to mind as a cute example [1]. fibs = 0 : 1 : zipWith (+) fibs (tail fibs) If you want to show overloading and monads then you can extend it to zipWithM. You'll probably want to argue why all of the features you mentioned are important for real programming problems (not fibs). John Hughes' paper Why Functional Programming Matters is a good source of material. You might also like to argue that one of Haskell's strengths is that it is built up from a very small core language (the lambda calculus plus let). Higher-order functions, a good type system, and lazyness, allow many powerful features to be included in the programmer's toolkit without having to change the underlying core. For example, list comprehensions are simply syntax sugar, rather than some fundamentally new gadget. You might say Haskell takes abstraction and composition very seriously. To make your talk more even-handed, you might like to mention some of the outstanding problems faced by Haskell programmers. For instance, while we seem to have a good handle on the declarative side of programming, the operational side can be troublesome. Witness: space leaks and deepseq. The foldl leak is a possible example: sum = foldl (+) 0 Now some people might complain Sure, Haskell looks nice in theory, but the proof is in the pudding; where's the pudding?. You might like to toss in a few examples of real world Haskell programs at the end, as a kind of pre-emptive strike against the non-believers. With some kind of note as to why Haskell was useful. Darcs and Pugs come to mind. As usual, all of this is qualified by the usual proviso: It depends who your audience is. Add salt or sugar to taste. Hope that is of some help, Bernie. [1] Though, depending on your audience, this might be like playing Stairway to Heaven in a guitar shop. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
Niels, Maybe reading these papers will give you some inspiration: John Hughes. Why functional programming matters. The Computer Journal, 32(2):98--107, 1989. [http://www.math.chalmers.se/~rjmh/ Papers/whyfp.html] Mark P. Jones. Functional programming with overloading and higher- order polymorphism. In Johan Jeuring and Erik Meijer, editors, Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques, Baastad, Sweden, May 24–30, 1995, Tutorial Text, volume 925 of Lecture Notes in Computer Science, pages 97--136. Springer-Verlag, 1995. [http://www.cse.ogi.edu/~mpj/pubs/springschool.html] HTH, Stefan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Features of Haskell
Hi, I'm a Master student in Computer Science, and for my bachelor thesis, I've written 'an introduction to Haskell'. In this document, I've discussed syntax, evaluation, polymorphism, monads etc. Now, in a week I have to present this work formally, and I'm a bit stumped as to how I'm going to do this. I've got about 15-20 minutes, so I can only discuss the major features. Right now I'm thinking about: - Short introduction to functional programming, and Haskell in it - Basic syntax in a few minutes - Features like polymorphism, overloading, higher-order functions, comprehensions, .. - Lazy evaluation - Monads: why and how? However, I'd love to know what you think. Furthermore, do you think I should include an example on the usage of Haskell, and if so, which? Many thanks! Niels ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
On Sun, 4 Jun 2006 11:21:23 +0200 Niels Van Och [EMAIL PROTECTED] wrote: However, I'd love to know what you think. Furthermore, do you think I should include an example on the usage of Haskell, and if so, which? I have an idea. Find some real code in another language which uses lots of state - so much state, in fact, that it's a pain to unit test or debug the code because you have to set up lots of state. Then, sketch an outline of how this code could be rewritten into Haskell, so that state updates are contained within monads or eliminated altogether, and perhaps separating the different tasks the code does into different functions. Then illustrate how this can make testing and debugging easier. -- Robin ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
stumped as to how I'm going to do this. I've got about 15-20 minutes, so I can only discuss the major features. I was always impressed with Autrijus Tang's presentation here: http://www.pugscode.org/euroscon/haskell.xul (view with Firefox or other Gecko-based browser) I think he managed to explain very effectively what made Haskell special, including major features/differences/paradigms, as well as syntax, all at once. I did read the slides as one familiar with Haskell so I can't say how it would come across to one unfamiliar with Haskell (which was his target audience), but maybe his presentation will help give you ideas. Best of luck! Jared. -- http://www.updike.org/~jared/ reverse )-: ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
On Sun, Jun 04, 2006 at 05:17:02PM -0700, Jared Updike wrote: stumped as to how I'm going to do this. I've got about 15-20 minutes, so I can only discuss the major features. I was always impressed with Autrijus Tang's presentation here: Audrey I think he managed to explain very effectively what made Haskell ^^ she Peace, Dylan Thurston signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Features of Haskell
On Sun, Jun 04, 2006 at 05:17:02PM -0700, Jared Updike wrote: stumped as to how I'm going to do this. I've got about 15-20 minutes, so I can only discuss the major features. I was always impressed with Autrijus Tang's presentation here: Audrey I think he managed to explain very effectively what made Haskell ^^ she Yep.. My bad. Cheers, Jared. -- http://www.updike.org/~jared/ reverse )-: ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe