Skip to content
AgileLogics
5 min read

What You Should Know Now — and What's Next

What You Should Know Now

  • Values, immutability, and type inference — and when mutable is fine
  • Functions, currying, partial application, pipelines, and composition
  • Tuples, lists, arrays, sequences, maps, and sets, and the functions that transform them
  • Records, discriminated unions, and pattern matching, including active patterns
  • Option and Result for missing values and errors, and exceptions for the truly exceptional
  • Modules, namespaces, classes, interfaces, and object expressions
  • Units of measure, generics, and inline functions
  • Computation expressions — seq, async, task, and your own
  • Agents, type providers, JSON, and interop with C# and .NET
  • Testing with Expecto and xUnit, web apps with Giraffe, Saturn, and Falco, Fable, scripting, performance, and deployment

What Should You Learn Next?

  • C# — C# is the main .NET language. Reading it fluently unlocks every .NET library, sample, and Stack Overflow answer.
  • OCaml — OCaml is F#'s closest relative; its module system (functors) goes further than F#'s.
  • Haskell — Haskell takes purity and type classes to their conclusion, and deepens your functional thinking.
  • Scala — Scala brings a similar functional-first style to the JVM.
  • SQL — SQL pairs naturally with F# data work and type providers.

Build Something

Pick a problem you care about — a personal finance tracker, a data report you produce by hand every month, a small web service — and build it in F# with the types first: model the domain, make invalid states impossible, then write the functions. Share it on GitHub and read code from the F# community (the Fantomas, FsToolkit, and Giraffe repositories are good places to start).