Cover by Chris Smith

Safari, the world’s most comprehensive technology and business learning platform.

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required

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 provide the necessary foundation for you to understand that code fully, but more importantly, I 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 then cover functions so you can manipulate data.

The fourth section details foundational types such as list, option, and unit. Mastering these types enables 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 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), whereas 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 VB.NET, F# supports the ...

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required