Haskell - Pure and simple

Haskell - Pure and simple - Ben Kolera

There is a tendency for some people to make assumptions and write Haskell off due to the fact that it is too academic, that you can't do anything 'real world' with pure functional programming or that you need a degree in category theory just to understand any of the code.  

This talk will help convince you that all of that these assumptions are unfounded, through a shallow dive of some code that I've been writing to implement the PubSubHubbub specification inside of Haskell. You wont learn the ins and outs of the Haskell technologies used, but you should walk away from them unafraid of trying them out and full of ideas of how you could use them yourselves. 

Topics covered will be:

• The basics of cabal and setting up a project.

• Enough Haskell syntax to be able to understand the code.

• Producing a HTTP API via Scotty

• Consuming HTTP APIs via http-conduit

• Persisting application state to disk using AcidState

• Simple in memory message queuing via STM TQueues.

• Testing all of the above with Tasty + Hunit


For the curious, the code is here:
https://github.com/benkolera/haskell-hubbub

Join or login to comment.

  • Matt N.

    Has anyone tried running the hubbub project on Windows?

    I made a small change (adding http://hackage.haskell.org/package/network-2.2.1.7/docs/Network.html#v:withSocketsDo) to get the tests partially running, but the tests produce some garbled output and fail seemingly randomly.

    Has anyone encountered anything like this? I'm guessing this isn't specific to this project.

    Cheers!

    April 17, 2014

    • Ben K.

      I know that there is some weirdness to the network library on windows, but I was under the impression that the only thing that you needed to do was call withSocketsDo. I haven't tested it on windows, so it could be my code that isn't catering for other windows caveats.

      April 19, 2014

    • Matt N.

      Okay no worries - I'll see if I can work out what is going on and let you know if I figure it out. Thanks!

      April 19, 2014

  • Rob M.

    Videos are now up on Vimeo:
    Part1: http://vimeo.com/85766161
    Part2: http://vimeo.com/85909474
    News segment: http://vimeo.com/86060863

    February 8, 2014

    • Ben K.

      Thanks Rob!

      1 · February 8, 2014

  • A former member
    A former member

    I think Ben's talk achieved exactly what he desired: Haskell is now less intimidating, I was impressed with the real-world application and the source contains those morsel you look at and go, "neat!" I've only picked up Haskell very recently and it was great to get a glimpse of Ben's toolkit (HUnit, Hoogle, Hackage, etc.) and the explicit imports will definitely aid my learning.

    3 · January 29, 2014

  • Ben K.

    So the slides are actually up here now: http://pureandsimple.benkolera.com/#/

    And the latest code has been pushed to github.

    Sorry for going over time. I hope that you all got something out of it! Feel free to hit me up with questions if you have them about all the details I glossed over. It got recorded, but I've got to get the SD card to Rob somehow before it'll make its way to vimeo.

    1 · January 28, 2014

  • Robert M.

    Sorry Ben! I got stuck configuring a router problem... :(

    Hope to catch up next time!

    January 28, 2014

  • A former member
    A former member

    > The basics of cabal and setting up a project.

    But, that'll take up the ENTIRE TALK!

    #trollface

    1 · January 28, 2014

  • Ben K.

    If you want to peek at or download the code before this talk, clone this repository:

    https://github.com/benkolera/haskell-hubbub

    (It shouldn't change too much between now and tomorrow night. :) )

    January 27, 2014

  • Raahul K.

    Hey Ben is the code going to be on Git? So we can download that. I also recommend Nixos is you want to make installing Haskell easier on yourself.

    January 27, 2014

    • Ben K.

      I run on Archlinux and it is not too bad. All I need from the OS package manager is GHC and cabal-install and the rest is all installed into $HOME/.cabal or in cabal sandboxes anyhow. :)

      January 27, 2014

    • Ben K.

      But the code is on github. I'll post it now.

      January 27, 2014

  • Rob M.

    Rats. I have failed to notice a cross booking and won't be able to attend. If someone takes a video camera I can process the video later though.

    January 24, 2014

    • Ben K.

      No problems rob! Thanks for letting us know. I'll have a camera there, but I may need to ask you for some recording tips so we record it properly for you. :)

      January 25, 2014

  • Richard G.

    Not in Brisbane this day...

    January 20, 2014

  • Nick P.

    Also we'll be doing the semi-regular News session. So come prepared with some useful information to share with the group ;)

    January 15, 2014

Our Sponsors

  • iSeek Communications

    Coverage of the cost of pizza for attendees

  • NICTA

    Venue sponsor, and provides pizzas and drinks for Hack Nights

  • Red Hat

    Venue sponsor

  • Skedulo

    Coverage of the cost of pizza for attendees

People in this
Meetup are also in:

Create a Meetup Group and meet new people

Get started Learn more
Henry

I decided to start Reno Motorcycle Riders Group because I wanted to be part of a group of people who enjoyed my passion... I was excited and nervous. Our group has grown by leaps and bounds. I never thought it would be this big.

Henry, started Reno Motorcycle Riders

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy