Lists, trees and other node-based data structures are key in any functional language, F# included. Other structures, such as hash tables, graphs (or any mutable data structure for that matter) present more of a challenge. F# and its marriage of functional and imperative programming presents promising opportunities to use mutable constructs for internal data structure implementation while presenting a functional non-mutable interface to the outside world.
In this code/demo-centric discussion we will look at the issues involved and what F# brings to the table. We will also look at how to build facilities to measure performance and complexity so as to be able to compare and contrast alternative designs and approaches.