You are previewing Programming F#.

Programming F#

Cover of Programming F# by Chris Smith Published by O'Reilly Media, Inc.
O'Reilly logo

Chapter 2. Fundamentals

In Chapter 1, you wrote your first F# program. I broke it down to give you a feel for what you were doing, but much of the code is still a mystery. In this chapter, I’ll provide the necessary foundation for you to understand that code fully, but more importantly, I’ll present several more examples that you can use to grasp the basics of F# before you move on to the more complex features.

The first section of this chapter covers primitive types, like int and string, which are the building blocks for all F# programs. I’ll then cover functions so that you can manipulate data.

The third section details foundational types such as list, option, and unit. Mastering how to use these types will enable you to expand into the object-oriented and functional styles of F# code covered in later chapters.

By the end of this chapter, you will be able to write simple F# programs for processing data. In future chapters, you will learn how to add power and expressiveness to your code, but for now let’s master the basics.

Primitive Types

A type is a concept or abstraction and is primarily about enforcing safety. Types represent a proof of sorts if a conversion will work. Some types are straightforward—representing an integer—while others are far more abstract—like a function. F# is statically typed, meaning that type checking is done at compile time. For example, if a function accepts an integer as a parameter, you will get a compiler error if you try to pass in a string.

Like C# and ...

The best content for your career. Discover unlimited learning on demand for around $1/day.