Thanks for your support. I would really like to do this but 1) the talk is tomorrow evening and 2) I do not have time in the interval to learn yesod and/or gloss enough to be confident that I will not botch anything in a 5 minutes time frame. <br>
<br>I did recently a 2-hours long talk with same purpose (introducing Haskell to an audience of mixed-level Scala programmers), using some code to produce sound and music, up to a web server for generating wav files from &quot;scores&quot;, and I had to make giant steps in the last 15 minutes to get to the web stuff. There was a lot of questions right from the start on various &quot;strange&quot; aspects of the language : type inference, laziness, generalized tail recursion, monadic I/O, point-free definitions and I barely managed to keep some time to show how easy it is to write a web server with simple HTML combinators (I discovered miku in the process). <br>
<br>I timed myself on the menu problem and I am a little bit under 5 minutes, given I want to explain quite a few things in the process: what you can do with lists, what you can do with pairs, how to simply generate all the combinations of elements of a list, how to map a function on list, how to use list-comprehensions to integrate everything into a concise form and how to avoid combinatorial blow-up through laziness.<br>
<br>I also would love to have the time to show some cool concurrency stuff following your suggestion. I will try to pack this tomorrow.<br><br>Thanks a lot again for your advices,<br><br>Arnaud<br><br><div class="gmail_quote">
2012/2/28 Ertugrul Söylemez <span dir="ltr">&lt;<a href="mailto:es@ertes.de">es@ertes.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Arnaud Bailly &lt;<a href="mailto:arnaud.oqube@gmail.com">arnaud.oqube@gmail.com</a>&gt; wrote:<br>
<br>
&gt; Thanks Yves for your advice. And I agree with you that too much<br>
&gt; laziness may be mind-blowing for most of the audience, yet this is one<br>
&gt; of the characteristics of Haskell, whether or not we like it and<br>
&gt; whatever troubles it can induce.<br>
&gt;<br>
&gt; I really think the knapsack is simple, not too far away from real<br>
&gt; world and might be demonstrated with live code in 5 minutes. I will<br>
&gt; have a look anyway at more &quot;spectacular&quot; stuff like gloss or yesod but<br>
&gt; I fear this is out of scope.<br>
<br>
</div>Gloss is definitely not out of scope.  It is to simple 2D graphics what<br>
Yesod is to web applications.  I write two-minutes visualizations using<br>
it all the time.  Of course if you want to show something great, you<br>
shouldn&#39;t fear learning it first.<br>
<br>
Also showing the language features, despite their greatness, makes<br>
people go like:  &quot;Ok, that&#39;s great, but I can do it in my language using<br>
&lt;insert control construct here&gt;&quot;.  If you really don&#39;t want to go for<br>
something amazing like Diagrams, Gloss or Yesod, I really suggest at<br>
least bringing the run-time system into the game.  Show concurrency, STM<br>
and parallel evaluation.  Show how you can write a full-featured finger<br>
server in five minutes that is fast, secure and amazingly readable.<br>
Something like that.<br>
<br>
Math problems amaze Haskellers, not programmers in general.  Show how<br>
Haskell solves practical problems, for which there is no simple solution<br>
in more common languages.  Don&#39;t show why Haskell is also good.  Show<br>
why Haskell is /a lot better/.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Greets,<br>
Ertugrul<br>
<br>
--<br>
nightmare = unsafePerformIO (getWrongWife &gt;&gt;= sex)<br>
<a href="http://ertes.de/" target="_blank">http://ertes.de/</a><br>
</div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br>