Quantcast

What library package fulfills these requirements?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

What library package fulfills these requirements?

hanjoosten

I am planning to give a workshop on FP using Haskell. The audience will be programmers with quite a bit of experience with conventional languages like Java and .net . I want to give them some feeling about FP. And hopefully, they will become interested so they want more... 

A couple of years ago, Simon Peyton Jones gave 
a splendid presentation with a comparable goal. He used Xmonad as an example to show some 'real code'. I like this idea, because Xmonad contains some code that is suitable to explain (not too hard to understand), and still gives a feeling about the power of Haskell. However, Xmonad needs X11 to run. Me and most people in the audience are stuck to windows (no flames please ;-s ) , and don't want to fiddle around with cygwin or the likes) 
I am wondering what package is suitable to be used as an example too? It needs to fulfill at least the following requirements: 
+ I have to be able to explain the purpose of the software in no more than 1 or 2 minutes 
+ There should be parts of the code that can be easily linked to the purpose /use of the package 
+ These code parts must show the 'prettiness' of Haskell 
+ It would be nice if there is something GUI-like to demo, which runs under windows. 
+ I prefer not to use some kind of a compiler as an example. 

Now the question is: What package would you suggest, and of course, why? 

Thanks!

 

Han Joosten.  

 

 






Dit bericht is vertrouwelijk en kan geheime informatie bevatten enkel bestemd voor de geadresseerde. Indien dit bericht niet voor u is bestemd, verzoeken wij u dit onmiddellijk aan ons te melden en het bericht te vernietigen. Aangezien de integriteit van het bericht niet veilig gesteld is middels verzending via internet, kan Atos Nederland B.V. niet aansprakelijk worden gehouden voor de inhoud daarvan. Hoewel wij ons inspannen een virusvrij netwerk te hanteren, geven wij geen enkele garantie dat dit bericht virusvrij is, noch aanvaarden wij enige aansprakelijkheid voor de mogelijke aanwezigheid van een virus in dit bericht. Op al onze rechtsverhoudingen, aanbiedingen en overeenkomsten waaronder Atos Nederland B.V. goederen en/of diensten levert zijn met uitsluiting van alle andere voorwaarden de Leveringsvoorwaarden van Atos Nederland B.V. van toepassing. Deze worden u op aanvraag direct kosteloos toegezonden.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Nederland B.V. group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. On all offers and agreements under which Atos Nederland B.V. supplies goods and/or services of whatever nature, the Terms of Delivery from Atos Nederland B.V. exclusively apply. The Terms of Delivery shall be promptly submitted to you on your request.

Atos Nederland B.V. / Utrecht
KvK Utrecht 30132762


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: What library package fulfills these requirements?

David Barbour
Haskore - music generation
Yesod, Snap, or HAppS - quick web application
Diagrams - easy image composition, 2D
GPipe - functional composition of 3D graphics and shaders (similar to Conal Elliott's Vertigo).
(cabal - easy installs, downloads, packaging)


On Fri, Oct 28, 2011 at 12:06 AM, Joosten, Han <[hidden email]> wrote:

I am planning to give a workshop on FP using Haskell. The audience will be programmers with quite a bit of experience with conventional languages like Java and .net . I want to give them some feeling about FP. And hopefully, they will become interested so they want more... 

A couple of years ago, Simon Peyton Jones gave 
a splendid presentation with a comparable goal. He used Xmonad as an example to show some 'real code'. I like this idea, because Xmonad contains some code that is suitable to explain (not too hard to understand), and still gives a feeling about the power of Haskell. However, Xmonad needs X11 to run. Me and most people in the audience are stuck to windows (no flames please ;-s ) , and don't want to fiddle around with cygwin or the likes) 
I am wondering what package is suitable to be used as an example too? It needs to fulfill at least the following requirements: 
+ I have to be able to explain the purpose of the software in no more than 1 or 2 minutes 
+ There should be parts of the code that can be easily linked to the purpose /use of the package 
+ These code parts must show the 'prettiness' of Haskell 
+ It would be nice if there is something GUI-like to demo, which runs under windows. 
+ I prefer not to use some kind of a compiler as an example. 

Now the question is: What package would you suggest, and of course, why? 

Thanks!

 

Han Joosten.  

 

 






Dit bericht is vertrouwelijk en kan geheime informatie bevatten enkel bestemd voor de geadresseerde. Indien dit bericht niet voor u is bestemd, verzoeken wij u dit onmiddellijk aan ons te melden en het bericht te vernietigen. Aangezien de integriteit van het bericht niet veilig gesteld is middels verzending via internet, kan Atos Nederland B.V. niet aansprakelijk worden gehouden voor de inhoud daarvan. Hoewel wij ons inspannen een virusvrij netwerk te hanteren, geven wij geen enkele garantie dat dit bericht virusvrij is, noch aanvaarden wij enige aansprakelijkheid voor de mogelijke aanwezigheid van een virus in dit bericht. Op al onze rechtsverhoudingen, aanbiedingen en overeenkomsten waaronder Atos Nederland B.V. goederen en/of diensten levert zijn met uitsluiting van alle andere voorwaarden de Leveringsvoorwaarden van Atos Nederland B.V. van toepassing. Deze worden u op aanvraag direct kosteloos toegezonden.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Nederland B.V. group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. On all offers and agreements under which Atos Nederland B.V. supplies goods and/or services of whatever nature, the Terms of Delivery from Atos Nederland B.V. exclusively apply. The Terms of Delivery shall be promptly submitted to you on your request.

Atos Nederland B.V. / Utrecht
KvK Utrecht 30132762


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe



_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: What library package fulfills these requirements?

Aatch
On 28 October 2011 20:46, David Barbour <[hidden email]> wrote:

> On Fri, Oct 28, 2011 at 12:06 AM, Joosten, Han <[hidden email]> wrote:
>>
>> I am planning to give a workshop on FP using Haskell. The audience will be
>> programmers with quite a bit of experience with conventional languages like
>> Java and .net . I want to give them some feeling about FP. And hopefully,
>> they will become interested so they want more...
>>
>> A couple of years ago, Simon Peyton Jones gave a splendid
>> presentation with a comparable goal. He used Xmonad as an example to show
>> some 'real code'. I like this idea, because Xmonad contains some code that
>> is suitable to explain (not too hard to understand), and still gives a
>> feeling about the power of Haskell. However, Xmonad needs X11 to run. Me and
>> most people in the audience are stuck to windows (no flames please ;-s ) ,
>> and don't want to fiddle around with cygwin or the likes)
>> I am wondering what package is suitable to be used as an example too? It
>> needs to fulfill at least the following requirements:
>> + I have to be able to explain the purpose of the software in no more than
>> 1 or 2 minutes
>> + There should be parts of the code that can be easily linked to the
>> purpose /use of the package
>> + These code parts must show the 'prettiness' of Haskell
>> + It would be nice if there is something GUI-like to demo, which runs
>> under windows.
>> + I prefer not to use some kind of a compiler as an example.
>>
>> Now the question is: What package would you suggest, and of course, why?
>>
>> Thanks!
>>
>>
>>
>> Han Joosten.
>
> Haskore - music generation
> Yesod, Snap, or HAppS - quick web application
> Diagrams - easy image composition, 2D
> GPipe - functional composition of 3D graphics and shaders (similar to Conal
> Elliott's Vertigo).
> (cabal - easy installs, downloads, packaging)
>

I'm with david on the web apps one. Especially since you can demo it
and give out a link to people at the workshop. Most programmers are
familiar with the way web apps work and wont have to get over that
hurdle that other, less common application types might present.

---
James Miller

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: What library package fulfills these requirements?

Sean Leather
In reply to this post by hanjoosten
Hi Han,

On Fri, Oct 28, 2011 at 09:06, Han Joosten wrote:
I am planning to give a workshop on FP using Haskell. The audience will be programmers with quite a bit of experience with conventional languages like Java and .net . I want to give them some feeling about FP. And hopefully, they will become interested so they want more...

Mark Lentczner recently gave a great talk to a similarly experienced audience at Google.


Regards,
Sean

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: What library package fulfills these requirements?

Claus Reinke
In reply to this post by hanjoosten
> I am planning to give a workshop on FP using Haskell.
> The audience will be programmers with quite a bit of
> experience with conventional languages like Java and
> .net . I want to give them some feeling about FP. And
> hopefully, they will become interested so they want more...

My recommendations:

- don't go for advanced coding styles or wow applications

- don't just walk through finished code, show how
    Haskell allows you to work with code (understanding
    and changing code, types as machine-checked
    documentation, effect control, abstracting out ideas
    for reuse, ..)

    you could:
    - show how to find relevant pieces of code in a large
        project, how to understand the piece, and how
        problematic interactions may be limited, compared
        to Java-like languages

    - build up working code from empty (risky, but some
        Scala introductions have used this, and managed to
        give listeners the impression that they "get" what
        they see, and that they might be able to reproduce it)

    - take working code, then refactor it; for instance, start
        with "simple" code not too different from what an
        imperative coder might write, then start factoring
        out reusable patterns (when you get to factoring out
        control structures, you can go beyond what is easy
        in Java, and you can motivate introducing some of
        the more fancy Haskell idioms, in context)

    Don't be afraid of things going wrong, but have a script,
    know your tools: your audience will be interested to see
    what you do when the unexpected happens (debugging
    support, source navigation, ...). As usual, have a fallback,
    to rescue the talk if you cannot fix things on the spot.

- it helps to know your audience: the advantages of Haskell
    over Java are different from those over Javascript; .Net
    coders might have different needs again (libraries; might
    prefer F# or something else that runs on the platform)

- complex apps or advanced coding patterns might wow
    the audience (didn't think that was possible), but will
    they try to reproduce that (will they even get the idea?)?

- simple everyday tasks solved in simple coding patterns
    might not wow in themselves, but make it easier to
    follow the language differences, and can be built on

- try for a steady pace through the whole presentation
    (too many Haskell talks start great, then either take off
    and leave the audience behind, or lose pace and direction
    as the speaker tries to fill the time)

If the authors agree, it might be good to take an existing
talk and try to adapt/improve it. Would be good to work
toward one set of slides that can give a starting point for
such talks: a general set that one can point to, and sets of
modifications that tune the general set to different audiences.

There are lots of introduction to Haskell talks/slides on
the web, btw., including these hands-on ones:

http://bos.github.com/strange-loop-2011/slides/slides.html 

(google for alternatives, but being on github, with an easy
HTML interface, allows for collaborative improvements)

My main recommendation again: don't just show working
code, show how to work with code.

Claus

> I am wondering what package is suitable to be used as
> an example too? It needs to fulfill at least the following
> requirements:
> + I have to be able to explain the purpose of the software
>    in no more than 1 or 2 minutes
> + There should be parts of the code that can be easily
>    linked to the purpose /use of the package
> + These code parts must show the 'prettiness' of Haskell
> + It would be nice if there is something GUI-like to demo,
>   which runs under windows.
> + I prefer not to use some kind of a compiler as an example.
 

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: What library package fulfills these requirements?

hanjoosten
In reply to this post by Sean Leather
Thanks for the link. I enjoyed it. It is quite a different approach as Simon had in the presentation I mentioned.
Gives me food for thought, which is good.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: What library package fulfills these requirements?

hanjoosten
In reply to this post by Claus Reinke
This is great stuff. I specifically like the interaction part. Hands on experience, whilst skipping the wow-stuff (well, I will mention the possibilities, supplying some links, but no more than a couple of minutes.). And as side effect I now have to get acquainted to github. Like it. Thanks a lot!
Loading...