Subscribe to
Posts
Comments

I had a lot of fun talking about concurrent and parallel programming last night. Thanks to Keith Fahlgren for organising the event, to Twitter’s Alex Payne for making space available, and to everyone who turned up and asked questions.

With any luck, Keith will have the video of the talk up in a few days. I spoke for about 45 minutes, and took questions afterwards for a further 75 (really!). The atmosphere was great, and the questions that followed very engaging.

I’ve posted the slides from the talk to Slideshare.

If you prefer, or Slideshare acts balky (unfortunately common), you can download the slides in one of several offline formats:

They’re CC-licensed, so have fun using them for your own purposes.

(Oh, and credit for the Haskell logo in the slides is due to Ketil Malde.)

5 Responses to “Slides from last night’s BayFP talk”

  1. on 09 May 2008 at 12:21 America/Los_AngelesCale Gibbard

    I’m afraid that your first example of seq on slide 15 is silly. (x `seq` x) always means exactly the same thing as x alone.

    It’s important to remember that (x `seq` y) is an expression which *when evaluated* will evaluate x up to determining the top level constructor before resulting in y.

    Then of course, if you’re thinking of replacing x with (x `seq` x), evaluating x already causes x to be evaluated, so there’s no point in doing so.

  2. on 09 May 2008 at 12:43 America/Los_AngelesBryan O'Sullivan

    Yes, it was a contrived example. Mea culpa.

  3. on 09 May 2008 at 20:07 America/Los_Angelesegl

    I’m probably suffering from too many years of strict evaluation: how does “map f xs `using` parList strat” on slide 23 work? Thanks.

  4. on 09 May 2008 at 22:34 America/Los_AngelesTom Faulhaber

    I really enjoyed your talk last night, Bryan. You covered a lot of interesting material very clearly and addressed some significant questions I’d had about the advantages and mechanisms for using functional programming in multicore and massively parallel environments.

    I’m sorry I couldn’t stay after to chat (I was late for a dinner already!), but I’m looking forward to the book.

  5. on 10 May 2008 at 11:23 America/Los_AngelesSebastian

    egl,
    The “using” function takes the thing on the left, and evaluates it with the strategy on the right. So “map f xs” is a list (lazy, not evaluated until the whole expression is forced), and evaluates it using the “parList strat” strategy. Meaning that when that expression is forced, it will get evaluated in parallel.

Leave a Reply