add-memberalign-toparrow-leftarrow-rightbellblockcalendarcamerachatchevron-leftchevron-rightchevron-small-downchevron-upcircle-with-crosscomposecrossfacebookflagfolderglobegoogleimagesinstagramkeylocation-pinmedalmoremuplabelShape 3 + Rectangle 1pagepersonpluspollsImported LayersImported LayersImported LayersshieldstartwitterwinbackClosewinbackCompletewinbackDiscountyahoo

Mathias Brandewinder's Bumblebee: an Artificial Bee Colony algorithm in F#

Sometime in 2010, after years of C# development, I discovered F#, and found programming in a functional style both tricky and fun. Inspired by an article on Artificial Bee Colony algorithms, an optimization algorithm that mimics the intelligent foraging behaviour of honey bee swarms, I decided as a learning project to convert it from C# into an F# library, Bumblebee, which is available open-source at In this talk, I want to do 4 things:
1) cover the basics of Artificial Bee Colony algorithms, and illustrate what problems it can help solve,
2) solve a problem together with Bumblebee, and use it as a F# primer,
3) open the hood and discuss some of the design aspects (making the API both F# and C# friendly, using the Task Parallel Library for parallelism, using OO and functional styles together, unit testing...)
4) share my learning experience transitioning from a C#-mindset to thinking F#.

This talk should be particularly relevant for C# developers who are F#-curious. Knowing F# beforehand is not required, but a certain comfort with functional concepts, like LINQ in C#, will definitely help.

I have been writing software in C# for 8+ years, and loving every minute of it, except maybe for a few release days. I enjoy arguing about code and how to make it better, and get very excited when discussing TDD or F#. My other professional interests are applied math and probability. If you want to know more about me, you can check out my blog at or follow me on Twitter as @brandewinder.

Join or login to comment.

  • dave m.

    Does it make sense to bring laptops?

    January 7, 2013

39 went

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