O'Reilly logo

Programming F# by Chris Smith

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required