F# Collections

Working with data structures in F#

Lists

// Immutable linked lists
let numbers = [1; 2; 3; 4; 5]

// List operations
let doubled = List.map (fun x -> x * 2) numbers
let evens = List.filter (fun x -> x % 2 = 0) numbers

Sequences

// Lazy evaluated sequences
let squares = seq {
    for i in 1..100 do
        yield i * i
}

// First 5 squares
squares |> Seq.take 5 |> Seq.toList

Arrays & Maps

Arrays

let arr = [|1; 2; 3|]
arr.[0] <- 5  // Mutable

Maps

let capitals = 
    Map [ ("USA", "Washington")
          ("France", "Paris") ]

capitals.["France"]  // "Paris"