addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

F# Agents with Rachel Reese (and a lightning talk with Jack Fox)

Jack Fox: Linear Data Structures Lightning Talk 

A quick look at composing functional linear data structures with example structures from FSharpx. Excerpts from a talk at Lambda Jam.

Rachel Reese: Concurrent Applications with F# Agents

To build today's responsive and scalable applications, developers need to start leveraging asynchronous programming methods. During this talk, we'll explore how developers can easily use the F# agent-based programming model, which is based upon the actor concurrency model first made popular in Erlang, to simply and quickly build concurrent applications.  

About Rachel

Rachel Reese is a long-time software engineer and math geek who has recently relocated to the lovely Burlington, Vermont. She runs the local functional programming user group, @VTFun, which is a constant source of inspiration to her, and at which she often speaks on F#. She's also an ASPInsider, an F# MVP, a community enthusiast, one of the founding @lambdaladies, and a Rachii. You can find her on twitter, @rachelreese, or on her blog: 

Join or login to comment.

  • Jack F.

    Initialization with Array<int> of length 10,000 (except where noted)
    Time in milliseconds on a rather slow 64-bit Windows 7.

    core.array ofList 0.3 (3)
    core.list ofArray 0.2
    deque ofSeq 0.6
    dlist ofSeq 1.7
    heap ofSeq 5.7 (1)
    lazylist ofArray 0.3 (2)
    queue ofSeq 1.1
    randomaccesslist ofSeq 5.2
    vector ofSeq 3.6

    1) Should be "O(N log(N))" rather than the "O(N)" I put in the documentation. Insert is "O(log(N))"
    2) Remember, it's lazy.
    3) Loaded from a List.

    September 21, 2013

  • Jack F.

    I was too hasty in my answer to Paul's question at the end regarding load times. List (not surprisingly) beats all the other structures rather handily (except array, which of course is not functional, and LazyList which is...well...lazy). I compiled quite a bit of performance data across the common functions of all the linear data structures, and published some of it in several articles on my blog, I originally intended to make my full dataset queryable, but never got around to it. (next comment because of character limit)

    1 · September 21, 2013

    • Jack F.

      Thanks, Sparky!

      September 21, 2013

    • Rachel


      September 21, 2013

  • Howard M.

    Did anyone take videos of Rachel and Jack's talks? Unfortunately I could not attend because I was in London.

    September 20, 2013

  • Jack F.

    It was great presenting to the group! Thanks Rick, Paul, and Rachel for the opportunity. Good to see old F# friends and meet new ones at the meetup and Progressive Conference. The F# Community constantly expands my mind. And this trip fully met my expectations. Hope to make it back to NY in the not too distant future.

    September 20, 2013

  • Riccardo T.

    Great presentation!

    September 17, 2013

  • Jack F.

    Looking forward to Rachel's presentation and meeting new and old F# friends.

    August 23, 2013

    • Richard M.

      Excited to have you Jack! I hope you can make it to our group to speak some time.

      August 28, 2013

    • Jack F.

      That would be an honor and a privilege.

      August 28, 2013

People in this
Meetup are also in:

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